【问题标题】:Speech Recognition Fails Because of Background Noise语音识别因背景噪声而失败
【发布时间】:2014-10-09 03:57:55
【问题描述】:

我正在尝试学习和使用语音识别应用程序, 找了又找了太久,找到了很多有用的资料和指南。。

我终于找到并使用了这个项目:HERE

它工作得很好,直到我尝试了一些嘈杂的背景样本..

我尝试添加自定义语法和 Dictation ,尝试仅使用自定义语法, 但仍然得到相同的结果(或更糟)..

_speechRecognitionEngine.LoadGrammar(_dictationGrammar);
        _speechRecognitionEngine.LoadGrammar(new Grammar(new GrammarBuilder(new Choices("a", "b", "c",
            "d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u",
            "v","w","x","y","z","please","type","the","letters","you","hear"))) { Name = "NewGrammar" });
        _speechRecognitionEngine.RecognizeAsync(RecognizeMode.Multiple);

总是相同的结果:请输入你听到的字母。

任何字母都会产生:它的员工。

那么,有什么办法可以降低背景噪音呢?还是编辑 WAV 样本?

还有一个新手问题:是否可以使用一些音频样本作为选择? (以字节为单位读取,然后进行比较或其他)。

要测试的音频样本:Audio Sample

此样本的正确结果应该是:请输入您听到的字母 H C D V A

【问题讨论】:

  • 带有一点解释的评论比投票要好!谢谢。
  • 您可以查看您提供的样品吗?我听不清楚,这是soxi 在上面运行的输出:“soxi FAIL 格式:无法打开输入文件 `HCDVA.wav': WAVE: RIFF header not found”
  • 我使用 Spectro 并得到了这些值: 采样率:22KHz 通道:1 位/采样:16 大小:0.27MB 平均比特率:353kbps ....
  • 很抱歉,我真的没有任何处理音频文件的经验。
  • PROGRESS : 使用 Audacity,1- 选择除噪音外无声的部分,然后选择效果 > 噪音去除并单击“获取配置文件”。 2-应用降噪两次。然后导出新的音频文件以使用语音识别项目进行测试。结果:请输入您听到 CDV 8 (a CDV 8 = H CDV A) 几乎 80% 成功的字母。知道如何在 C# 代码中进行降噪吗?!!

标签: c# speech-recognition speech-to-text


【解决方案1】:

我正在探索一个类似的问题。您可以通过另一个具有去噪功能和脚本或命令行模式的应用程序(例如Audacity'sSox)过滤有问题的文件。可以使用 Process class 从 C# 程序调用它们。

或者,有一个用于此目的的商业许可 .NET 库https://visualstudiogallery.msdn.microsoft.com/53d1f3fc-44d2-4a53-8211-99ca4b70536d

【讨论】:

    猜你喜欢
    • 2015-04-17
    • 2011-05-05
    • 1970-01-01
    • 2015-09-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多