如何让引擎成功识别语音文件中的短语(wav / mp3 / etc ..)?
例如,如果我有一个语音文件和同一文件上下文的书面文本,那么要识别语音文件中的文字。
我尝试使用SpeechRecognitionEngine,但到目前为止没有成功。
我会欣赏这些想法,因为这是我第一次处理语音识别技术。
我已经看过使用词典的语音到文本的示例,但我不确定它在这里是如何有用的。我想的可能是将所有语音文件转换为文本,然后只是查找该文本中的特定短语,但我认为这不是正确的方法。将5小时语音转换为文本似乎没有意义....或者可能将特定短语用作“词典”并在语音文件中查找此项目。
答案 0 :(得分:6)
似乎您需要在长文件中查找特定单词。这种技术被称为“关键词定位”,它与语音识别完全不同,更有效率。显然,您不需要转录整个文件来搜索其中的单词,您可以快速浏览该文件。 Microsoft语音识别引擎对关键字定位的支持非常有限。
可以使用像CMUSphinx这样的开源引擎来有效地实现关键字定位。有关how to implement wake-up listening with pocketsphinx的详细信息,请参阅参考资料。
有关基础算法的更多信息,请参阅ACOUSTIC KEYWORD SPOTTING IN SPEECH WITH APPLICATIONs TO DATA MINING
答案 1 :(得分:0)
根据MSDN文章Getting Started with Speech Recognition。
您需要做的步骤(来自文章)。请注意创建识别语法步骤。本文接着建议使用GrammerBuilder或Choices类。
语音识别应用程序通常会执行以下基本操作:
- 启动语音识别器 - 创建识别语法 - 将语法加载到语音识别器中 - 注册语音识别事件通知 - 为语音识别事件创建处理程序。
答案 2 :(得分:0)
如果您尝试使用Microsoft语音引擎转换音频文件,则必须谨慎使用。首先,支持的唯一格式是WAV(可以编码为PCM,ALaw或uLaw),但您必须验证您的文件是否采用识别器支持的格式。您还必须验证采样率。识别器仅支持一组固定的采样率。在我的机器上,
运作良好。有关详细信息,请参阅https://stackoverflow.com/a/6203533/90236。您可能需要使用audacity之类的工具重新对WAV文件进行重新采样或重新编码。请参阅https://stackoverflow.com/a/9467044/90236。
让您入门的一个简单示例位于SAPI and Windows 7 Problem。
最后,(我总是重复这一点,抱歉)有一篇关于Windows .NET编程识别的文章。请参阅http://msdn.microsoft.com/en-us/magazine/cc163663.aspx,它有点过时,但是很棒的介绍。