У меня есть этот код, чтобы создать пользовательскую грамматику и загрузить его в двигатель распознавания речиПризнать несколько вариантов грамматики
DictationGrammar customDictationGrammar = new DictationGrammar();
customDictationGrammar.Name = "Dictation";
customDictationGrammar.Enabled = true;
GrammarBuilder grammar = new GrammarBuilder();
grammar.Append(new Choices("turn", "on", "off", "lamp"));
grammar.Culture = ri.Culture;
Grammar g = new Grammar(grammar);
spRecEng.LoadGrammar(g);
spRecEng.SpeechRecognized += new EventHandler<SpeechRecognizedEventArgs>(spRecEng_SpeechRecognized);
spRecEng.SpeechRecognitionRejected += new EventHandler<SpeechRecognitionRejectedEventArgs>(spRecEng_SpeechRecognitionRejected);
spRecEng.SetInputToAudioStream(source.Start(), new SpeechAudioFormatInfo(EncodingFormat.Pcm, 16000, 16, 1, 32000, 2, null));
spRecEng.RecognizeAsync(RecognizeMode.Multiple);
Можно ли сделать так, он распознает несколько вариантов, например, turn
, on
и lamp
или мне пришлось бы писать во всех вариантах, я мог бы сказать это в моем массиве выбора?
Ваш код не делать что-либо с помощью 'customDictationGrammar', просто создает объект и бросает это прочь? –
Кроме того, этот пример показывает, как собрать порядок слов: http://msdn.microsoft.com/en-us/library/system.speech.recognition.grammarbuilder(v=vs.110).aspx –