我一直在试图弄清楚如何使用 Dragonfly 模块。我已经查看了文档,但我似乎无法弄清楚如何使用它。我只想能够识别一些短语并根据这些短语采取行动。
3 回答
没错,这个例子将终止。我已经看过这个特定的例子很多,它缺少一些关键特性。
首先是没有导入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)
首先,如果您使用的是 Linux,您应该知道 Dragonfly 仅适用于 Windows Speech Recognition 或 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 时自动激活它们。
我发现本文档中给出的使用示例非常简单且不言自明:
一个非常简单的 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.