用Windows语音将任意句子转换为文本
目前我有一个C#程序,它使用MS Windows语音识别(SR)系统进行语音转换,将其转换为文本,将问题作为文本发送给Worlfram Alpha,然后使用文本转语音方式读取基于文本的答案TTS)。
不幸的是,计算机只能识别输入到SR中的语法中定义的预定义句子和短语的列表。 我需要程序来识别任何句子,而不必定义包含英语中每个单词的巨大语法文件。 如何让程序识别任何英语短语而不必定义包含完整英语语言规则的语法文件? 这可能吗?
目前有两种基本类型的语音识别系统; 一种类型支持使用列出期望识别结果的规则的语法,另一种类型使用统计建模(例如:隐马尔可夫模型)来基于匹配用于“训练”该数据的一组数据的概率来获得识别结果系统。 你所描述的“预定义句子和短语列表”是语法。 我非常确定MS Windows语音识别系统仅支持基于语法的解决方案。 你所描述的你想要的解决方案是SR的统计建模系统。 你可能想看看Sphinx项目。 它是开源的,它支持统计建模。 注意建立一个统计建模系统并不容易,需要花费很多时间才能正确调整。
检查一下 - SpeechSynthetizer类以及这个相关的堆栈溢出问题如何编写一个读取文本并产生语音的应用程序
演讲到文本看这个codeproject文章http://www.codeproject.com/Articles/380027/Csharp-Speech-to-Text
链接地址: http://www.djcxy.com/p/34361.html