【发布时间】:2014-12-08 17:40:10
【问题描述】:
我正在尝试对音频流输入(通过 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;
【问题讨论】:
-
投反对票是因为?
-
这不是 model 本身,而是麦克风的音频输入对象(假设您使用的是 Windows 7 或更高版本)执行一些文件不会发生的处理输入。
-
谢谢 Eric,它完成了哪种类型的处理(除了可能减少音量)?我想自己应用此处理。
-
我不确定在不违反保密协议的情况下我可以披露多少信息。