C# 语音识别的简单语法

C# 语音识别的简单语法,c#,speech-recognition,C#,Speech Recognition,我有一个GrammarBuilders和Grammar程序,用于SpeechRecognitionEngine识别语音。我是否可以使用相同的语法来识别键入的命令(以字符串形式),而不是从音频中识别?类似commandGrammar.parse(commandString)的东西?您应该能够使用它来代替语音识别的音频输入 我不确定它的预期用途,但如果它被用于聊天机器人之类的东西,通过IM或SMS自动与文本输入交互,我想你会发现语法维护起来非常麻烦,而且限制性很大。我建议您使用类似的方法来处理文本响

我有一个GrammarBuilders和Grammar程序,用于SpeechRecognitionEngine识别语音。我是否可以使用相同的语法来识别键入的命令(以字符串形式),而不是从音频中识别?类似commandGrammar.parse(commandString)的东西?

您应该能够使用它来代替语音识别的音频输入


我不确定它的预期用途,但如果它被用于聊天机器人之类的东西,通过IM或SMS自动与文本输入交互,我想你会发现语法维护起来非常麻烦,而且限制性很大。我建议您使用类似的方法来处理文本响应。它很容易学习,而且非常强大。这种语言不需要使用ASR所要求的简明语法,而是允许您使用通配符,而通配符更有利于文本输入。甚至还有一些C#提供了与AIML协作的库,并简化了聊天机器人的创建。

+1这是一个非常有趣的想法。那么文本到语音再到语音到文本呢?我已经有一年没有认真使用语音识别API了(这被证明是最原始的),所以也许我的印象和理解已经过时了,但语音识别语法的目标不是让它能够识别特定的声音吗?你不能从文本本身得到它。不,这个实例的要点是获得基于逻辑的输入,比如“在30秒内完成”。语音算法目前可以很好地处理它,但是如果有人键入它呢?我认为应该有一个相当简单的方法来做到这一点。语音识别将其转换为文本,然后对其进行解析,对吗?编辑了我的答案,以包含用于文本输入的SpeechRecognitionEngine方法。感谢指向该方法的指针。我用它通过NUnit测试语法文件。