¿Cómo reconoces el habla con el módulo Python Dragonfly?

He estado tratando de averiguar cómo usar el módulo Dragonfly. He echado un vistazo a la documentación, pero parece que no consigo entender cómo usarla. Solo quiero poder reconocer algunas frases y actuar sobre ellas.

Eso es correcto, este ejemplo terminará. He visto este ejemplo en particular bastante, y le falta una serie de características clave.

Lo primero es que Pythoncom no se importa. Esto proporciona un bucle principal para el progtwig. Lo anterior

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) 

Primero, en caso de que estés usando Linux, debes saber que Dragonfly solo funciona con el reconocimiento de voz de Windows o Dragon NaturallySpeaking + Natlink . (Es posible que funcione en Linux con una máquina virtual y Aenea , pero eso parece estar fuera del scope de esta pregunta).

Si lo está utilizando con WSR, debería ser tan simple como asegurarse de que Dragonfly esté en su ruta de Python y llamar a lo siguiente al final de su script principal:

 while True: pythoncom.PumpWaitingMessages() time.sleep(0.1) 

Si lo está utilizando con Dragon NaturallySpeaking, siga el enlace de arriba al sitio web de Natlink y siga las instrucciones para instalar y activar Natlink antes de intentar usar Dragonfly. Una vez que esté instalado (use todos los valores predeterminados), debería poder colocar los scripts de Dragonfly en su carpeta C: \ NatLink \ NatLink \ MacroSystem y hacer que se activen automáticamente cuando inicie Dragon NaturallySpeaking.

Considero que el ejemplo de uso dado en este documento es bastante simple y autoexplicativo:

Un ejemplo muy simple del uso de Dragonfly es crear un comando de voz estático con una callback que se llamará cuando se pronuncie el comando. Esto se hace de la siguiente manera: ::

  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.