2016-12-28 105 views
0

我正在嘗試使用SpeechRecognition 3.5將Speech轉換爲文本。我正在使用Python 2.7.13。我擡起頭,使用此模塊的一些例子,我發現所有的例子包括:Python SpeechRecognition AttributeError:__exit__ with sr.Microphone()

r = sr.Recognizer() 
with sr.Microphone() as source: 
    audio = r.listen(source) 

但是當我運行這一點,總是吐出了這個錯誤

AttributeError: __exit__ 

林不知道如何解決這個問題,作爲

with sr.Microphone() as source: 

是尋找一個出口方法,但不能找到一個。所以我試着拿出關鍵字,所以它看起來像這樣:

source = sr.Microphone() 
audio = r.listen(source) 

但它然後吐了一個AssertionError在我身上。

AssertionError: Audio source must be entered before listening, see documentation for ``AudioSource``; are you using ``source`` outside of a ``with`` statement? 

林不知道該從這裏做什麼。任何人都可以向我解釋爲什麼這不起作用?

編輯:

sr.Microphone - > sr.Microphone()

編輯2:

該錯誤是由於我不導入PyAudio(這是必需的)引起的我並沒有意識到。現在我無法停止錄製麥克風。

回答

0

添加, phrase_time_limit = 10 //10秒

例如:

with sr.Microphone() as source: 
print("Say something!") 
audio = r.listen(source,timeout=1,phrase_time_limit=10)