Вывод слов с помощью распознавания речи - PullRequest
0 голосов
/ 13 декабря 2011

Сейчас я работаю над распознаванием речи в C # с использованием windows7.Я не знаю, что я делаю не так.Этот код не дает никаких ошибок, но в то же время он даже не распознает ничего и не отвечает ... Любая помощь будет принята с благодарностью.

SpeechRecognitionEngine RecognitionEngine = new SpeechRecognitionEngine();
RecognitionEngine.SetInputToDefaultAudioDevice();
RecognitionResult Result = RecognitionEngine.Recognize();
StringBuilder Output = new StringBuilder();
foreach (RecognizedWordUnit word in Result.Words)
{
    Output.Append(word.Text);
}

Ответы [ 2 ]

0 голосов
/ 13 декабря 2011

Вы указали грамматику?Если вы используете Windows 7, вы должны указать и загрузить грамматику Dictation.Что-то вроде:

SpeechRecognitionEngine recognizer = new SpeechRecognitionEngine();
Grammar dictationGrammar = new DictationGrammar();
recognizer.LoadGrammar(dictationGrammar);
recognizer.SetInputToDefaultAudioDevice();
RecognitionResult result = recognizer.Recognize();

См. SAPI и Windows 7 Проблема для примера, который я опубликовал ранее.

0 голосов
/ 13 декабря 2011
  1. Убедитесь, что ваше устройство ввода работает правильно.
  2. Попробуйте увеличить начальный интервал молчания (например, RecognitionEngine.Recognize(TimeSpan.FromSeconds(2)))

PS: я бы использовал асинхронное распознавание, если бы я былвы

...