public void Start() { AlwaysOnListener.RecognizeAsync(RecognizeMode.Multiple); DigitsListener.RecognizeAsync(RecognizeMode.Multiple); LettersListener.RecognizeAsync(RecognizeMode.Multiple); TeamListener.RecognizeAsync(RecognizeMode.Multiple); DatabaseListener.RecognizeAsync(RecognizeMode.Multiple); }
public SpeechActivator() { DatabaseListener.LoadGrammar(new Grammar(new GrammarBuilder(DatabaseListenerChoices))); DatabaseListener.SpeechRecognized += (s, e) => { if (e.Result.Confidence < 0.70) { return; } OnRecognisedDatabase?.Invoke(this, new DatabaseSpeechCommandEventArgs(e.Result.Text)); }; DatabaseListener.SetInputToDefaultAudioStream(); TeamListener.LoadGrammar(new Grammar(new GrammarBuilder(TeamListenerChoices))); TeamListener.SpeechRecognized += (s, e) => { if (e.Result.Confidence < 0.70) { return; } OnRecognisedTeam?.Invoke(this, new TeamSpeechCommandEventArgs(e.Result.Text)); }; TeamListener.SetInputToDefaultAudioStream(); for (var i = 'а'; i <= 'я'; i++) { LettersListenerChoices.Add(i.ToString()); } var gb0 = new GrammarBuilder(LettersListenerChoices); LettersListener.LoadGrammar(new Grammar(gb0)); LettersListener.SpeechRecognized += (s, e) => { if (e.Result.Confidence < 0.70) { return; } OnRecognisedLetter?.Invoke(this, new LetterSpeechCommandEventArgs(e.Result.Text[0])); }; LettersListener.SetInputToDefaultAudioStream(); for (var i = 0; i <= 9; i++) { DigitsListenerChoices.Add(i.ToString()); } var gb1 = new GrammarBuilder(DigitsListenerChoices); DigitsListener.LoadGrammar(new Grammar(gb1)); DigitsListener.SpeechRecognized += (s, e) => { if (e.Result.Confidence < 0.70) { return; } OnRecognisedDigit?.Invoke(this, new DigitsSpeechCommandEventArgs(int.Parse(e.Result.Text))); }; DigitsListener.SetInputToDefaultAudioStream(); var gb2 = new GrammarBuilder { Culture = Russian }; gb2.Append(AlwaysOnListenerChoices); AlwaysOnListener.LoadGrammar(new Grammar(gb2)); AlwaysOnListener.SpeechRecognized += (s, e) => { if (e.Result.Confidence < 0.70) { return; } switch (e.Result.Text) { case "айбанк карты": OnRecognisedMain?.Invoke(this, new MainSpeechCommandEventArgs(MainSpeechCommands.Card)); break; case "айбанк команды": OnRecognisedMain?.Invoke(this, new MainSpeechCommandEventArgs(MainSpeechCommands.Team)); break; case "айбанк бд": case "айбанк база": case "айбанк база данных": OnRecognisedMain?.Invoke(this, new MainSpeechCommandEventArgs(MainSpeechCommands.Database)); break; } }; AlwaysOnListener.SetInputToDefaultAudioStream(); }