-1

目前,我有一个 C# 程序,它使用 MS Windows 语音识别 (SR) 系统获取语音,将其转换为文本,将问题作为文本发送到 Worlfram Alpha,然后使用文本到语音读取基于文本的答案( TTS)。

不幸的是,计算机只能识别在输入到 SR 的语法中定义的预定义句子和短语的列表。我需要该程序识别任何句子,而不必定义一个包含英语中每个单词的巨大语法文件。如何让程序识别任何英语短语而无需定义包含完整英语语言规则的语法文件?这可能吗?

4

2 回答 2

1

今天有两种基本类型的语音识别系统;一种类型支持使用列出预期识别结果规则的语法,另一种使用统计建模(例如:隐马尔可夫模型)基于匹配用于“训练”的一组数据的概率来获得识别结果系统。您所描述的“预定义句子和短语列表”是语法。我很确定 MS Windows 语音识别系统只支持基于语法的解决方案。您所描述的所需解决方案是 SR 的统计建模系统。你可能想看看狮身人面像项目。它是开源的,并且支持统计建模。请注意,建立统计建模系统并不容易,并且需要花费大量时间才能对其进行正确调整。

于 2012-12-13T19:29:17.673 回答
0

看看这个 - SpeechSynthetizer Class以及这个相关的堆栈溢出问题How to write an application that reads text and generate speech

对于 Speech to Text,请查看此 codeproject 文章http://www.codeproject.com/Articles/380027/Csharp-Speech-to-Text

于 2012-12-13T17:31:29.743 回答