1

特定の Dragonfly コマンドのみを受け入れたい場合、Windows 音声認識 (WSR) の特定の側面を無効にすることはできますか? 組み込みの WSR とDragonflyを使用して、Python で (単純な) 音声制御の対話システムをプログラミングしています。WSR は、コマンドを理解できない場合は常に、ランダム テキストを挿入しようとします。

聞き間違えたコマンド

可能であれば、Python/Dragonfly 内で、このテキスト挿入およびその他の望ましくない組み込み (つまり、デフォルトの WSR アクティビティを伴うキーワード) をプログラムで無効にしたいと考えています。私の音声制御システムの最小限の機能例を以下に示します。

from dragonfly.all import Grammar, CompoundRule
import dragonfly, time, pythoncom

hablador = dragonfly.get_engine()

class TimeRule(CompoundRule):
    spec = "what time is it"
    def _process_recognition(self, node, extras):
        hablador.speak(time.ctime()[11:16])

grammar = Grammar("example grammar")
grammar.add_rule(TimeRule())
grammar.load()

while True:
    pythoncom.PumpWaitingMessages()
    time.sleep(.1)
4

2 に答える 2

2

ディクテーション スクラッチパッドを無効にすることはできますが、Python 内から無効にすることはできません。Microsoftのヘルプ記事から:

「音声認識オプションを表示」と発声し、「オプション」と発声してから、「ディクテーション スクラッチパッドを有効にする」と発声します。

無効にするためのコマンドは同じです。ビルトインのオーバーライドまたは無効化に関しては、これが可能だとは思いません。

于 2014-12-02T19:40:57.177 に答える
-1

すべてに一致し、その入力を破棄するルールを追加してみませんか?

于 2014-10-29T00:33:03.837 に答える