2016-05-30 12 views
0

私は基本的なトムのようなコードを書いています。その人に耳を傾けて、その側のオーディオを繰り返します。スピーカーが話したテキストを表示します。 私が直面している問題は、printとlistenコマンドを同時に使用することができないことです。 私はフレーズを2回、つまり画面に印刷するために1回、それを繰り返すためにもう一度話す必要があります。 この2つのことを一度にしか起こらないと分かります。つまり、フレーズを2回繰り返さずに、オーディオを繰り返して同時に表示する必要があります。は同時に印刷して聞くことができません

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()) 

答えて

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

PAL :( そのだけのフレーズを繰り返したが、それは '印刷(テキストを入れ –

+3

表示されない作業ではないthatsの) '最後に – Kevin

0

書き込み:

print(audio) 

の下で:

return recognizer.recognize_google(audio) 
+0

同じ結果:/ –

関連する問題