Скорость распознавания речи Microsoft - PullRequest
7 голосов
/ 14 августа 2011

Я работаю над небольшим практическим приложением, использующим распознаватель речи Microsoft.Я не могу заставить его распознавать отдельные слова достаточно быстро для того, что я делаю.Я хотел бы иметь возможность говорить нормально, и система будет извлекать «ключевые слова» из того, что я говорю, и производить строку.В настоящее время я использую пользовательскую грамматику из 5 слов.Красный, синий, желтый, зеленый, оранжевый.Например, если я скажу красный синий желтый.Двигатель захватит «Красный», а остальное уйдет в пустоту.

Я попытался использовать следующее:

sr.RecognizeAsync(RecognizeMode.Single)

Затем верните его в одиночный режим после того, как AudioState изменится на «остановлено».Это не достаточно быстро, чтобы поймать следующее слово.Мысли

1 Ответ

6 голосов
/ 15 августа 2011

Вы пробовали PauseRecognizerOnRecognition .Похоже, эта функция буферизует ваш аудиовход во время обработки предыдущего аудио.

Сверху ссылка MSDN:

Когда PauseRecognizerOnRecognition имеет значение true, во время выполнения обработчика SpeechRecognizedслужба распознавания речи приостанавливает и буферизует новый аудиовход по мере его поступления.После выхода из обработчика событий SpeechRecognized служба распознавания речи возобновляет распознавание и начинает обрабатывать информацию из своего входного буфера.

...