你如何识别Python模块Dragonfly的演讲?

时间:2010-09-04 21:50:20

标签: python speech-recognition python-dragonfly

我一直在试图弄清楚如何使用Dragonfly模块。我看了一下文档,但我似乎无法弄清楚如何使用它。我只是想能够识别一些短语并对这些短语采取行动。

3 个答案:

答案 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.