4

如何让引擎成功识别语音文件(wav/mp3/etc..)中的短语?

例如,如果我将一个语音文件和一个书面文本的上下文放在同一个文件中,那么要让它识别语音文件中的书面文字。

我尝试使用 SpeechRecognitionEngine,但到目前为止没有成功。

我会很感激想法,因为这是我第一次处理语音识别技术。

我已经看到使用字典的语音到文本的示例,但我不确定它在这里如何有用。我正在考虑将所有语音文件转换为文本,然后简单地在该文本中查找特定的短语,但我认为这不是正确的方法。将例如 5hrs 语音转换为文本似乎没有意义.... 或者将特定短语用作“字典”并在语音文件中查找此项目。

4

3 回答 3

6

看来您需要在长文件中查找特定单词。这种技术称为“关键字识别”,它与语音识别完全不同,效率更高。显然您不需要转录整个文件来搜索其中的单词,您可以快速浏览文件。Microsoft 语音识别引擎对关键字定位的支持非常有限。

CMUSphinx等开源引擎可用于有效地实现关键字识别。有关如何使用 pocketsphinx 实现唤醒监听的信息,请参阅更多参考资料。

有关底层算法的更多信息,请参阅语音中的声学关键词识别与数据挖掘的应用

于 2012-04-30T06:22:23.623 回答
0

如果您尝试使用 Microsoft 语音引擎转换音频文件,则必须小心。首先,唯一支持的格式是 WAV(它可以编码为 PCM、ALaw 或 uLaw),但您必须验证您的文件是识别器支持的格式。您还必须验证采样率。识别器仅支持一组固定的采样率。在我的机器上,

  • 每个样本 8 位
  • 单声道单声道
  • 每秒 22,050 个样本
  • PCM编码

效果很好。有关更多信息,请参阅https://stackoverflow.com/a/6203533/90236 。您可能必须使用audacity之类的工具重新采样或重新编码 WAV 文件。请参阅https://stackoverflow.com/a/9467044/90236

一个让您入门的简单示例是SAPI 和 Windows 7 问题

最后,(我总是重复这一点,抱歉)有一篇很棒的文章关于 Windows .NET 中的编程识别。请参阅http://msdn.microsoft.com/en-us/magazine/cc163663.aspx,它有点过时,但很好的介绍。

于 2012-05-01T17:32:03.187 回答
0

根据 MSDN 文章语音识别入门

您需要做的步骤是(来自文章)。注意创建识别语法的步骤。文章继续建议使用GrammerBuilderChoices类。

语音识别应用程序通常会执行以下基本操作:
- 启动语音识别器。
- 创建识别语法。
- 将语法加载到语音识别器中。
- 注册语音识别事件通知。
- 为语音识别事件创建一个处理程序。

于 2012-04-30T00:18:13.533 回答