public SpeechRecognizerServer(string moduleName) { System.Collections.ObjectModel.ReadOnlyCollection<RecognizerInfo> installedRecognizers = SpeechRecognitionEngine.InstalledRecognizers(); //Synchronous Recognition m_reco = new System.Speech.Recognition.SpeechRecognitionEngine(myLanguage); Network.init(); m_moduleName = moduleName; //TTS m_tts = new System.Speech.Synthesis.SpeechSynthesizer(); m_portISpeak = new Port(); m_portISpeak.open("/" + moduleName + "/tts/iSpeak:o"); Network.connect("/" + moduleName + "/tts/iSpeak:o", "/iSpeak"); //Grammars GrammarBuilder dictation = new GrammarBuilder(); dictation.Culture = myLanguage; dictation.AppendDictation(); m_grammar_dictation = new Grammar(dictation); GrammarBuilder spelling = new GrammarBuilder(); spelling.Culture = myLanguage; spelling.AppendDictation("spelling"); m_grammar_dictation_spelling = new Grammar(spelling); m_grammar_continuous = new GrammarBuilder("For sure this non empty grammar will never be recognized."); m_reco.SetInputToDefaultAudioDevice(); m_reco.LoadGrammar(m_grammar_dictation); //Continuous Recognition m_reco_continuous = new SpeechRecognitionEngine(); m_reco_continuous.SetInputToDefaultAudioDevice(); m_portContinuousRecognition = new Port(); m_portContinuousRecognition.open("/" + moduleName + "/recog/continuous:o"); m_reco_continuous.LoadGrammar(new Grammar(m_grammar_continuous)); m_reco_continuous.RecognizeCompleted += onContinuousRecognitionResult; m_reco_continuous.RecognizeAsync(); m_grammarManager = new RobotGrammarManager(); m_grammarManager.InitialiseVocabulories(); SetLanguage("EN-us"); //SetLanguage("fr-fr"); Console.WriteLine("#########################"); Console.WriteLine("# Speech Recognizer #"); Console.WriteLine("#########################"); Network.init(); m_rpcPort = new Port(); m_rpcPort.open("/" + m_moduleName + "/rpc"); m_rpcThread = new System.Threading.Thread(HandleRPC); m_rpcThread.Start(); }
private static void wreck_a_nice_beach() { var sre = new SSR.SpeechRecognitionEngine(); sre.SetInputToDefaultAudioDevice(); sre.UnloadAllGrammars(); var gb1 = new SSR.GrammarBuilder(); gb1.Append(new SSR.Choices("cut", "copy", "paste", "delete", "quit")); var g1 = new SSR.Grammar(gb1); sre.LoadGrammar(g1); sre.SpeechRecognized += SreOnSpeechRecognized; sre.SpeechDetected += SreOnSpeechDetected; sre.SpeechHypothesized += SreOnSpeechHypothesized; sre.SpeechRecognitionRejected += SreOnSpeechRecognitionRejected; sre.AudioSignalProblemOccurred += SreOnAudioSignalProblemOccurred; sre.RecognizeAsync(SSR.RecognizeMode.Multiple); }
private void loadGrammar() { sre.UnloadAllGrammars(); htWords.Clear(); StreamReader sr = File.OpenText(strGrammarFile); int icnt = 0; while (!sr.EndOfStream && icnt <10000) { string strLine = sr.ReadLine(); if (strLine != "") { SSR.GrammarBuilder gb = new System.Speech.Recognition.GrammarBuilder(); gb.Append(strLine); SSR.Grammar gram = new System.Speech.Recognition.Grammar(gb); sre.LoadGrammar(gram); htWords.Add(htWords.Count, strLine.ToLower()); } icnt++; } }
private void loadGrammar() { sre.UnloadAllGrammars(); htWords.Clear(); StreamReader sr = File.OpenText(strGrammarFile); int icnt = 0; while (!sr.EndOfStream && icnt < 10000) { string strLine = sr.ReadLine(); if (strLine != "") { SSR.GrammarBuilder gb = new System.Speech.Recognition.GrammarBuilder(); gb.Append(strLine); SSR.Grammar gram = new System.Speech.Recognition.Grammar(gb); sre.LoadGrammar(gram); htWords.Add(htWords.Count, strLine.ToLower()); } icnt++; } }
private void SpeechToText() { // Configure the input to the recognizer. sre.SetInputToDefaultAudioDevice(); // Create a simple grammar that recognizes "red", "green", or "blue". recog.Choices queries = new recog.Choices(); queries.Add(dictionary); // Create a GrammarBuilder object and append the Choices object. recog.GrammarBuilder gb = new recog.GrammarBuilder(); gb.Append(queries); // Create the Grammar instance and load it into the speech recognition engine. recog.Grammar g = new recog.Grammar(gb); sre.LoadGrammar(g); // Register a handler for the SpeechRecognized event. sre.SpeechRecognized += new EventHandler<recog.SpeechRecognizedEventArgs>(sre_SpeechRecognized); // Start recognition. sre.Recognize(); }
private sp.Grammar GeneratePauseGrammar() { sp.Choices choices = new sp.Choices(); foreach (string pausePhrase in this.currentProfile.PauseRecognitionPhrases) { sp.SemanticResultValue temp = new sp.SemanticResultValue(pausePhrase, "PauseVoiceRecognitionCommand"); choices.Add(temp); } foreach (string unpausePhrase in this.currentProfile.UnpauseRecognitionPhrases) { sp.SemanticResultValue temp = new sp.SemanticResultValue(unpausePhrase, "UnpauseVoiceRecognitionCommand"); choices.Add(temp); } sp.GrammarBuilder builder = new sp.GrammarBuilder(); builder.Append(new sp.SemanticResultKey("command", choices)); sp.Grammar grammar = new sp.Grammar(builder); grammar.Name = "PauseCommands"; return grammar; }
public GrammarBuilder(GrammarBuilder builder, int minRepeat, int maxRepeat) : this() { Append(builder, minRepeat, maxRepeat); }
public sp.Grammar UpdateGrammar() { bool atLeastOnePhrase = false; sp.Choices choices = new sp.Choices(); foreach (Action action in this.Actions) { foreach (string phrase in action.Phrases) { sp.SemanticResultValue temp = new sp.SemanticResultValue(phrase, action.ActionName); choices.Add(temp); atLeastOnePhrase = true; } } if (atLeastOnePhrase) { sp.GrammarBuilder builder = new sp.GrammarBuilder(); builder.Append(new sp.SemanticResultKey("command", choices)); this.Grammar = new sp.Grammar(builder); this.Grammar.Name = this.ProfileName; return this.Grammar; } else return null; }
public Grammar(GrammarBuilder builder) { Helpers.ThrowIfNull(builder, "builder"); _grammarBuilder = builder; InitialGrammarLoad(null, null, false); }
public sp.Grammar UpdateGrammar() { sp.GrammarBuilder commands = new sp.GrammarBuilder(); sp.Choices choices = new sp.Choices(); foreach (Action action in this.Actions) { foreach (string phrase in action.Phrases) { sp.SemanticResultValue temp = new sp.SemanticResultValue(phrase, action.ActionName); choices.Add(temp); commands.Append(temp); } } commands.Append(choices); sp.GrammarBuilder builder = new sp.GrammarBuilder(); builder.Append(new sp.SemanticResultKey("command", choices)); this.Grammar = new sp.Grammar(builder); this.Grammar.Name = this.ProfileName; return this.Grammar; }
public SemanticResultValue(GrammarBuilder builder, object value) { Helpers.ThrowIfNull(builder, "builder"); Helpers.ThrowIfNull(value, "value"); _tag = new TagElement(builder.Clone(), value); }