MS SAPI SpeechRecognitionEngine в C# совершенно неправильная транскрипция

Я новичок в MS SAPI и пытаюсь написать утилиту преобразования WAV в TXT в C#/Windows Forms с использованием класса SpeechRecognitionEngine. Я заметил, что речь совершенно неправильная. Слова даже не похожи. Я предполагаю, что на это может повлиять длинный список факторов, таких как качество звука входного файла WAV и грамматика, загруженная в механизм распознавания. Я использую класс DictationGrammar.

Буду признателен за любые наводки от опытных специалистов по распознаванию речи/цифровой обработке сигналов.


person user1229658    schedule 26.02.2012    source источник


Ответы (1)


Есть несколько причин, по которым у вас могут быть такие неутешительные результаты. Во-первых, если вы используете настольный распознаватель, вы должны обучить его для говорящего.

Вторая идея заключается в том, что если вы конвертируете файл Wav, вы должны проявлять осторожность при выборе формата этого файла. Возможно, вам придется передискретизировать wav-файлы, потому что механизмы распознавания речи поддерживают только определенные частоты дискретизации.

  • 8 бит на выборку
  • одноканальный моно
  • 22 050 выборок в секунду
  • Кодирование PCM

хорошо работает в Windows. См. https://stackoverflow.com/a/6203533/90236 для получения дополнительной информации.

person Michael Levy    schedule 27.02.2012
comment
Спасибо, я увидел эту тему сразу после публикации этой, прошу прощения. Мой файл WAV действительно недействителен. После повторной выборки с частотой 22050 и экспорта в виде 8-битного беззнакового кода уровень достоверности для распознанной речи снизился с ~8% до в основном выше 50%. Что, я полагаю, хорошо? - person user1229658; 29.02.2012
comment
Извинения не нужны. Это хороший вопрос, и в документации нет четкого указания поддерживаемых форматов. В последний раз, когда я смотрел, единственным способом узнать поддерживаемые форматы было написать код для запроса SupportedAudioFormats. - person Michael Levy; 29.02.2012