【问题标题】:Quality of windows speech recognition (SAPI) from file来自文件的 Windows 语音识别 (SAPI) 质量
【发布时间】: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,它完成了哪种类型的处理(除了可能减少音量)?我想自己应用此处理。
  • 我不确定在不违反保密协议的情况下我可以披露多少信息。

标签: c# c++ audio sapi


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-03-17
    • 1970-01-01
    • 1970-01-01
    • 2012-10-02
    • 1970-01-01
    • 2011-07-04
    • 2014-07-24
    相关资源
    最近更新 更多