2010-09-04 8 views
9

Próbowałem dowiedzieć się, jak korzystać z modułu Dragonfly. Przyjrzałem się dokumentacji, ale nie potrafię wymyślić, jak jej użyć. Chcę tylko móc rozpoznać kilka fraz i działać zgodnie z tymi frazami.Jak rozpoznać mowę za pomocą modułu Dragonfly Pythona?

+2

Musisz zdecydować, czy chcesz, aby Dragon NaturallySpeaking dostarczał tłumaczenie głosowe do tekstu, czy też chcesz polegać na wbudowanej aplikacji rozpoznawania mowy Windows. – reckoner

Odpowiedz

5

Zgadza się, ten przykład będzie rozwiązać. Widziałem ten konkretny przykład całkiem sporo i brakuje mu wielu kluczowych funkcji.

Przede wszystkim pythoncom nie jest importowany. Zapewnia to główną pętlę dla programu. Powyższy

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) 
+0

Drobna poprawka: musisz dodać "import pythoncom" przed użyciem. –

+0

Tutaj pompa komunikatu jest dostarczana przez samą aplikację NaturallySpeaking, gdy plik dll natlink.pyd jest związany z aplikacją NaturallySpeaking w rejestrze. Jest to część procesu instalacji, który jest udokumentowany w witrynie przetwarzania mowy. Po skonfigurowaniu rejestru i powiązanych ścieżek zewnętrzna pompa wiadomości nie jest konieczna, a aplikacja powinna bezpośrednio odpowiadać na mowę. Uwaga: ten komentarz ma zastosowanie tylko wtedy, gdy korzystasz z NaturallySpeaking, aby zapewnić głos do tłumaczenia tekstu. – reckoner

+1

Czy nie lepiej jest po prostu naprawić istniejącą odpowiedź zamiast kopiować jej zawartość i modyfikować ją w osobnym poście? – halflings

1

znajdę Przykład użycia podanego w this document być całkiem proste i self-wyjaśniając:

bardzo prosty przykład wykorzystania Dragonfly jest stworzenie statycznej polecenia głosowe z zwrotnego, który zostanie wywołany kiedy polecenie jest mówione . Odbywa się to w następujący sposób: ::

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. 
+2

Ten przykład nie działa dla mnie. Skrypt kończy działanie. – Moh

+0

Dzieje się tak, ponieważ - nie ma pętli while oczekującej na pompowanie wiadomości, jak wyjaśniono w powyższej odpowiedzi użytkownika 1110728. –

+0

W moim przypadku ten moduł pyta mnie o win32gui, podczas gdy ja działa na Debianie: V – erm3nda

3

Po pierwsze, w przypadku używasz Linuksa, powinieneś wiedzieć, że Dragonfly działa tylko Rozpoznawanie mowy w Windows lub Dragon NaturallySpeaking + Natlink. (Możliwe jest uruchomienie go na Linuksie za pomocą maszyny wirtualnej i Aenea, ale wydaje się to poza zakresem tego pytania.)

Jeśli używasz go z WSR, powinno być tak proste, jak upewnienie się że Dragonfly jest w ścieżce Pythona i wywołanie następujących po zakończeniu głównego skryptu:

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

Jeśli używasz go z Dragon NaturallySpeaking, wykonaj powyższy link do strony Natlink i postępuj zgodnie z instrukcjami tam zainstaluj i aktywuj Natlink przed próbą użycia Dragonfly. Po zainstalowaniu (użyj wszystkich wartości domyślnych), powinieneś być w stanie umieścić skrypty Dragonfly w folderze C: \ NatLink \ NatLink \ MacroSystem i aktywować je automatycznie po uruchomieniu Dragon NaturallySpeaking.

Powiązane problemy