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

本文关键字:文件 短语 语音 何识别 识别 | 更新日期: 2023-09-27 18:32:34

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

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

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

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

我见过使用字典进行语音转文本的示例,但我不确定它在这里有什么用处。我正在考虑将所有语音文件转换为文本,然后简单地在该文本中查找特定短语,但我认为这不是正确的方法。将例如 5 小时的语音转换为文本似乎没有意义......或者也许将特定短语用作"字典"并在语音文件中查找此项目。

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

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

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

有关基础算法的详细信息,请参阅使用数据挖掘应用程序在语音中发现声学关键字

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

您需要执行的步骤是(来自文章(。请注意创建识别语法管理器步骤。本文继续建议使用GrammerBuilder或Choices类。

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

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

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

效果很好。有关详细信息,请参阅 https://stackoverflow.com/a/6203533/90236。您可能需要使用大胆等工具对 WAV 文件重新采样或重新编码。请参阅 https://stackoverflow.com/a/9467044/90236。

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

最后,(我总是重复这一点,对不起(有一篇关于Windows .NET编程识别的好文章。看到 http://msdn.microsoft.com/en-us/magazine/cc163663.aspx,它有点过时,但是一个很好的介绍。