2017-02-26 138 views
0

我對我的輸入使用nextech桌面麥克風,我知道它的作品,因爲我在設置中測試它。我正在使用Python 2.7。當我執行下面的代碼時,腳本就像卡在audio = r.listen(source)一樣。當我做一個鍵盤中斷,終止腳本,這是回溯:語音識別python卡在收聽

Traceback (most recent call last): 
    File "test_audio.py", line 12, in <module> 
    listen() 
    File "test_audio.py", line 6, in listen 
    audio = r.listen(source) 
    File "/usr/local/lib/python2.7/dist-packages/speech_recognition /__init__.py", line 559, in listen 
    buffer = source.stream.read(source.CHUNK) 
    File "/usr/local/lib/python2.7/dist-packages/speech_recognition/__init__.py", line 161, in read 
    return self.pyaudio_stream.read(size, exception_on_overflow=False) 
    File "/usr/local/lib/python2.7/dist-packages/pyaudio.py", line 608, in read 
    return pa.read_stream(self._stream, num_frames, exception_on_overflow) 
KeyboardInterrupt 

這裏是代碼:

import speech_recognition as sr 

def listen(): 
    r = sr.Recognizer() 
    with sr.Microphone() as source: 
     audio = r.listen(source) 
    try: 
     print(r.recognize_wit(audio, key="############################")) 
    except sr.RequestError as e: 
     return "There was an error with the speech recognititon software." 

listen() 

回答

0

這可能是有趣的你:

的識別器即使在我不說話時也會嘗試識別語音, 或完成說話之後。

嘗試增加recognizer_instance.energy_threshold屬性。這個 基本上是識別器在識別 應該開始時多麼敏感。數值越高意味着它的敏感度越低,如果你在一個響亮的房間裏,那麼 就很有用。

來源:https://pypi.python.org/pypi/SpeechRecognition/