来自文件的窗口语音识别 (SAPI) 的质量
本文关键字:SAPI 语音识别 文件 窗口 | 更新日期: 2023-09-27 18:33:29
我正在尝试对音频流输入(通过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;
不知道为什么,但它对我将文件的振幅降低了 10 倍有很大帮助(使用代码来自使用 C 减小 Wav 音频文件的音量)。
也许,当SAPI收听麦克风时,它使用减小的音量,因此在加载wav文件时也需要模拟它。