如何识别语音文件中的短语

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

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

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

我会欣赏这些想法,因为这是我第一次处理语音识别技术。

我已经看过使用词典的语音到文本的例子,但我不确定它在这里是如何有用的。 我想的可能是将所有语音文件转换为文本,然后只是查找该文本中的特定短语,但我认为这不是正确的方法。 将5小时语音转换为文本似乎没有意义….或者可能将特定短语用作“词典”并在语音文件中查找此项目。

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

像CMUSphinx这样的开源引擎可以用来有效地实现关键字定位。 有关如何使用pocketsphinx实现唤醒监听的信息,请参阅参考资料 。

有关基础算法的更多信息,请参阅声音中的声音关键词应用于数据挖掘

根据MSDN文章语音识别入门 。

您需要做的步骤(来自文章)。 请注意创建识别语法步骤。 本文接着建议使用GrammerBuilder或Choices类。

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

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

  • 每个样本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 ,它有点过时,但是很棒的介绍。