だから私は音声認識を行うための小さなツールを書いています。SAPI 5.4から始めて、SRGSxmlファイルを使用して文法を設定しました。それは非常にうまく機能しました。私のコマンドはすべて簡単に認識されました。ただし、これを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よりもはるかに劣ります。まず、オンにする必要のある外部リスナーアプリを起動します(これはそれほど悪くはないと思います)。しかし、主な問題は、私が話すときにリスナーがOS操作を開始することだと思います(フォルダーを開くなど)。したがって、明らかに、事前定義された一連のコマンド以上のものをリッスンしています。
SAPI 5.1を5.4のように機能させる方法を知っている人はいますか?
ありがとう、
イアン