所以我正在写一个小工具来做语音识别。我刚开始使用 SAPI 5.4 并使用 SRGS xml 文件来设置我的语法。它工作得非常好。我的所有命令都很容易被识别。但是,我试图让这个东西在 XP 上运行,但我遇到了麻烦。我已使用以下代码读取现有的 xml 文件:
listener = New SpSharedRecoContext()
AddHandler listener.Recognition, AddressOf Handle_Speech
Dim grammar As ISpeechRecoGrammar
grammar = listener.CreateGrammar()
grammar.CmdLoadFromFile(Utilities.INI.ConfigPath & "\Voice_Commands.xml")
grammar.CmdSetRuleIdState(0, SpeechRuleState.SGDSActive)
但是,SAPI 5.1 在识别命令方面的性能比 5.4 差很多。首先,它启动了一个您必须打开的外部监听器应用程序(我想这还不错)。但我认为主要问题是听者会在我说话时开始进行操作系统操作(打开文件夹等);所以它显然不仅仅是我预定义的命令集。
有谁知道如何使 SAPI 5.1 像 5.4 一样执行?
谢谢,
伊恩