public WakeWord CloneWithRecognizedText(string recognizedText) { var ww = new WakeWord { Text = Text, PrefixAllowance = PrefixAllowance, SuffixAllowance = SuffixAllowance, Intent = Intent, RequestType = RequestType, InlineRequestMinimumLength = InlineRequestMinimumLength, RecognizedText = recognizedText, InlineRequestText = string.Empty }; if (InlineRequestMinimumLength > 0 && RecognizedText != null) { var requestText = RecognizedText.Substring(RecognizedText.IndexOf(Text) + Text.Length); if (requestText.Length >= InlineRequestMinimumLength) { InlineRequestText = requestText; } } return(ww); }
private static void AddRectangeTable(bool drawLine, RecognizedText recognizedItem, List <Rectangle> rectangleBlockItems, List <Rectangle> rectangleTableColorItems, List <Rectangle> rectangleRowItems, List <Rectangle> rectangleLineItems) { foreach (var tableItem in recognizedItem.Page.TableItems) { Rectangle rectangle = new Rectangle() { X = tableItem.X, Y = tableItem.Y, Width = tableItem.Width, Height = tableItem.Height, }; rectangleTableColorItems.Add(rectangle); foreach (var rowItem in tableItem.RowItems) { Rectangle rectangleRow = new Rectangle() { X = rowItem.X, Y = rowItem.Y, Width = rowItem.Width, Height = rowItem.Height, }; rectangleRowItems.Add(rectangleRow); AddRectangeBlock(drawLine, rowItem.BlockItems, rectangleBlockItems, rectangleLineItems); } } }
private void RaiseRecognizedText(string text) { var data = new RecognizedTextArgs { Text = text }; RecognizedText?.Invoke(this, data); }
public void ManageKebab(object sender, SpeechRecognizedEventArgs e) { if (!_speechRecognition.IsSpeechOn) { return; } var result = new RecognizedText(e); Console.WriteLine($@"ROZPOZNANO (wiarygodność: {result.Confidence:0.000}): '{result.ToString()}'"); _textAnalyzer.AnalyzeText(result); }
private void OnRecognizedText(string text) { RecognizedText?.Invoke ( this, new RecognizedTextArgs { Text = text } ); }
public bool Send(RecognizedText text) { if (!isEnable) { return(false); } var options = new JsonSerializerOptions { WriteIndented = true, }; var jsonUtf8String = JsonSerializer.SerializeToUtf8Bytes(text, options); WebRequest request = WebRequest.Create(Uri); request.Method = "POST"; request.ContentLength = jsonUtf8String.Length; request.ContentType = "application/json"; request.Timeout = 10000; var dataStream = request.GetRequestStream(); var jsonString = JsonSerializer.Serialize(text, options); Debug.WriteLine(jsonString); dataStream.Write(jsonUtf8String, 0, jsonUtf8String.Length); dataStream.Close(); try { var response = request.GetResponse(); var statusCode = ((HttpWebResponse)response).StatusCode; if (statusCode == HttpStatusCode.OK) { isEnable = true; return(true); } } catch (WebException ex) { Debug.WriteLine(String.Format("HTTP Exception: {0}", ex.Message)); isEnable = false; return(false); } isEnable = false; return(false); }
private void ProcessHelpMessages(RecognizedText recognizedText) { if (_formList.Any(a => (a.IdEqualsIgnoreCase(recognizedText.Default)))) { Form form = _formList.First(a => (a.IdEqualsIgnoreCase(recognizedText.Default))); if (form.Id.Equals("Stop")) { _speechRecognition.StopSpeech(); _mainWindow.SetLabels(_order); _speaker.Speak(form.Block.Prompt.Message); Environment.Exit(0); } else { ResetOrder(); } } }
private void FillKnownProperties(RecognizedText recognizedText) { if (!string.IsNullOrEmpty(recognizedText.Meal)) { _order.Meal = recognizedText.Meal; } if (!string.IsNullOrEmpty(recognizedText.Kind)) { _order.Kind = recognizedText.Kind; } if (!string.IsNullOrEmpty(recognizedText.Sauce)) { _order.Sauce = recognizedText.Sauce; } _mainWindow.SetLabels(_order); }
public void AnalyzeText(RecognizedText text) { if (text.Confidence >= ConfidenceThreshold) { if (text.Default != "") { ProcessHelpMessages(text); } else { if (_order.Meal == "" && text.Meal != "") { SetNewCurrentForm(text.Meal); } if (_order.Kind == "" && text.Kind != "") { SetNewCurrentForm(text.Kind); if (_order.Sauce != "") { SetNewCurrentForm(_order.Sauce); } } if (_order.Sauce == "" && text.Sauce != "") { SetNewCurrentForm(text.Sauce); } FillKnownProperties(text); if (_order.OrderReady() && text.Confirmation != "") { SetNewCurrentForm(text.Confirmation); } FormInterpretationAlgorithm(_currentForm); } } else { _speaker.SpeakAsync($"Proszę powtórzyć"); } }
private void CreateRecogStream() { recSt?.Dispose(); recSt = Observable.CombineLatest(ClipImages.Select(clip => clip.Text)).Subscribe(list => RecognizedText.OnNext(list.ToList())); }
public MainWindowViewModel() { StartCapture = new ReactiveCommand(); StartCapture.Subscribe(() => { if (CreateCaptureItemForWindow(SelectedWindow.Value.Hwnd, out var result)) { var item = (GraphicsCaptureItem)Marshal.GetObjectForIUnknown(result); CurrentGraphicsCaptureItem.Value = item; util.StartCaptureInternal(item); } }); AddClip.Subscribe(() => { if (util == null) { return; } var clip = new App1.ClipImage(); var vm = new ClipImageViewModel(clip); var co = new App1.ClipImageConteir(clip); util.ClipImages.Add(clip, co); ClipImages.Add(vm); CreateRecogStream(); }); RemoveClip.Subscribe(vm => { if (vm == null) { return; } if (util != null) { var co = util.ClipImages.GetValueOrDefault(vm.ClipImage); util.ClipImages.Remove(vm.ClipImage); co.Dispose(); } if (SelectedClipImage.Value == vm) { SelectedClipImage.Value = null; } ClipImages.Remove(vm); CreateRecogStream(); }); ScriptReslut = Observable.CombineLatest(Script, RecognizedText.Pairwise(), (script, pair) => (script, pair)).SelectMany(async scriptData => { try { var state = await CSharpScript.RunAsync <ScriptResult>(scriptData.script, globals: new ScriptModel(scriptData.pair.OldItem, scriptData.pair.NewItem)); return(state.ReturnValue); } catch (Exception e) { return(new ScriptResult { IsRead = false, Text = e.ToString() }); } } ).ToReadOnlyReactiveProperty(); ScriptReslut.Where(result => result != null).Where(result => !string.IsNullOrWhiteSpace(result.Text)).Where(result => result.IsRead).Select(result => result.Text).Distinct().Subscribe(async text => { if (!Reading.Value) { return; } var json = System.Text.Json.JsonSerializer.Serialize(new VoiceloidParam { Effects = new VoiceloidEffects { Volume = Volume.Value, Speed = Speed.Value, Pitch = Pitch.Value, Intonation = Intonation.Value }, Talktext = text }, new System.Text.Json.JsonSerializerOptions { PropertyNamingPolicy = System.Text.Json.JsonNamingPolicy.CamelCase }); var content = new StringContent(json, Encoding.UTF8, @"application/json"); try { await httpClient.PostAsync("http://localhost:7180//PLAY2/1700", content); } catch { } }); var byteArray = Encoding.ASCII.GetBytes(string.Format("{0}:{1}", "SeikaServerUser", "SeikaServerPassword")); httpClient.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Basic", Convert.ToBase64String(byteArray)); RefreshWindow.Subscribe(() => RefreshWindows()); RefreshWindows(); }