从文件中识别Windows语音识别(SAPI)的质量

时间:2014-12-08 17:40:10

标签: c# c++ audio sapi

我正在尝试对音频流输入(通过UDP)执行语音识别。我正在使用Microsoft语音识别(SAPI)。当我使用麦克风测试语音识别时,我获得了良好的质量(包括C#和C ++)。但是,一旦此信息来自WAV文件(或来自我的UDP流的内存缓冲区),识别率就会急剧下降。我尝试以44100Hz的大胆保存文件,并在C#中编写自己的代码来编写WAV文件。当然,我使用完全相同的麦克风,声音在文件中也很好。

SAPI可以使用不同型号的麦克风输入和文件输入吗?有没有人遇到过这个问题(并且有任何解决方案)?

下面是我的C#代码(虽然我在C ++中遇到完全相同的问题)。

SpeechRecognitionEngine recognizer = new SpeechRecognitionEngine(); Grammar dictationGrammar = new DictationGrammar(); recognizer.LoadGrammar(dictationGrammar); recognizer.SetInputToWaveFile("c:\path\to\file.wav"); RecognitionResult result = recognizer.Recognize(); text1.Text = result.Text;

1 个答案:

答案 0 :(得分:1)

不知道为什么,但它帮助我减少了10倍的文件幅度(使用来自Reduce the volume of a Wav audio file using C的代码)。

也许,当SAPI收听麦克风时,它会使用减少的音量,因此在加载wav文件时也需要进行模拟。

相关问题