我一直在试图弄清楚如何使用Dragonfly模块。我看了一下文档,但我似乎无法弄清楚如何使用它。我只是想能够识别一些短语并对这些短语采取行动。
答案 0 :(得分:5)
这是正确的,这个例子将终止。我已经看到了这个特殊的例子,它缺少一些关键功能。
第一件事是没有导入pythoncom。这为程序提供了一个主循环。以上
from dragonfly.all import Grammar, CompoundRule
# Voice command rule combining spoken form and recognition processing.
class ExampleRule(CompoundRule):
spec = "do something computer" # Spoken form of command.
def _process_recognition(self, node, extras): # Callback when command is spoken.
print "Voice command spoken."
# Create a grammar which contains and loads the command rule.
grammar = Grammar("example grammar") # Create a grammar to contain the command rule.
grammar.add_rule(ExampleRule()) # Add the command rule to the grammar.
grammar.load() # Load the grammar.
while True:
pythoncom.PumpWaitingMessages()
sleep(.1)
答案 1 :(得分:3)
首先,如果您使用的是Linux,您应该知道Dragonfly仅适用于Windows语音识别或Dragon NaturallySpeaking + Natlink。 (可以使用虚拟机和Aenea在Linux上运行它,但这似乎超出了这个问题的范围。)
如果您在WSR中使用它,它应该像确保Dragonfly在您的Python路径中并在主脚本末尾调用以下内容一样简单:
while True:
pythoncom.PumpWaitingMessages()
time.sleep(0.1)
如果您在Dragon NaturallySpeaking中使用它,请按照上面的链接访问Natlink网站,并按照其中的说明安装并激活Natlink,然后再尝试使用Dragonfly。一旦安装(使用所有默认值),您应该能够将Dragonfly脚本放在C:\ NatLink \ NatLink \ MacroSystem文件夹中,并在启动Dragon NaturallySpeaking时自动激活它们。
答案 2 :(得分:1)
我发现this document中给出的用法示例非常简单并且自我解释:
Dragonfly使用的一个非常简单的例子是创建静态语音 带有将在命令时调用的回调的命令 说。这完成如下:::
from dragonfly.all import Grammar, CompoundRule
# Voice command rule combining spoken form and recognition processing.
class ExampleRule(CompoundRule):
spec = "do something computer" # Spoken form of command.
def _process_recognition(self, node, extras): # Callback when command is spoken.
print "Voice command spoken."
# Create a grammar which contains and loads the command rule.
grammar = Grammar("example grammar") # Create a grammar to contain the command rule.
grammar.add_rule(ExampleRule()) # Add the command rule to the grammar.
grammar.load() # Load the grammar.