2016-05-30 17 views
0

Ich schreibe eine grundlegende im Gespräch Tom wie Code, der auf die Person hört und wiederholt seine Audio-Seite, ich will es den Text anzeigen, die der Sprecher gesprochen hat. Das Problem, dem ich gegenüberstehe, ist, dass ich den Befehl print and listen nicht gleichzeitig verwenden kann. Ich muss die Phrase zweimal sprechen, d. H. Einmal zum Drucken auf dem Bildschirm und andere Zeit zum Wiederholen. Ich möchte, dass diese beiden Dinge nur auf einmal passieren, d. H. Der Ton sollte wiederholt und gleichzeitig angezeigt werden, ohne dass ich die Phrase zweimal wiederhole.kann nicht gleichzeitig drucken und hören

import speech_recognition 
import pyttsx 

speech_engine = pyttsx.init() 
speech_engine.setProperty('rate', 150) 

def speak(text): 
    speech_engine.say(text) 
    speech_engine.runAndWait() 

recognizer = speech_recognition.Recognizer() 

def listen(): 
    with speech_recognition.Microphone() as source: 
     recognizer.adjust_for_ambient_noise(source) 
     audio = recognizer.listen(source) 

try: 

     return recognizer.recognize_google(audio)  
except speech_recognition.UnknownValueError: 
    print("Could not understand audio") 
except speech_recognition.RequestError as e: 
    print("Recog Error; {0}".format(e)) 

return "" 

speak("Say something!") 
print (listen()) 
speak("I heard you say " + listen()) 

Antwort

2
speak("Say something!") 
text = listen() 
speak("I heard you say " + text) 
+0

das ist nicht pal arbeiten :( seine nur den Satz zu wiederholen, aber nicht angezeigt wird es –

+3

einen 'Druck setzen (Text) 'am Ende – Kevin

0

schreiben:

print(audio) 

Under:

return recognizer.recognize_google(audio) 
+0

immer noch das gleiche Ergebnis: / –

Verwandte Themen