[英]speech_recognition module stuck in “say something” - python
我正在嘗試用於語音識別的python腳本,我已經在我的環境中安裝了所需的pyaudio和SpeechRecognition模塊。
該程序運行良好,直到昨天,但是現在被困在“說些什么”了。 下面是我的代碼。
import speech_recognition as sr
print "say something1"
r = sr.Recognizer()
print "say something2"
with sr.Microphone() as source: # use the default microphone as the audio source
print "say something3"
audio = r.listen(source,timeout=3) # listen for the first phrase and extract it into audio data
print "say something"
try:
print("You said " + r.recognize(audio)) # recognize speech using Google Speech Recognition
except LookupError: # speech is unintelligible
print("Could not understand audio")
控制台o / p:-
say something1
say something2
ALSA lib pcm_dsnoop.c:606:(snd_pcm_dsnoop_open) unable to open slave
ALSA lib pcm_dmix.c:1029:(snd_pcm_dmix_open) unable to open slave
ALSA lib pcm.c:2266:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2266:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2266:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib pcm_dmix.c:1029:(snd_pcm_dmix_open) unable to open slave
say something3
不重復/已轉為:- 語音識別python代碼不起作用
也許這可以解決您的問題。
print "say something2"
with sr.Microphone() as source: # use the default microphone as the audio source
r.adjust_for_ambient_noise(source) # here
print "say something3"
audio = r.listen(source,timeout=3)
看這個。 https://github.com/Uberi/speech_recognition/issues/191
最后的解決方案對我有用。 希望你能做同樣的工作
我也遇到了同樣的問題,我最終安裝了jack2d和Pulseaudio,什么也沒有。
那是問題,然后我通過運行卸載了jack2d
sudo apt-get remove --auto-remove jack
然后重新啟動系統,然后運行
jack_control stop
然后,這會將語音輸入提供給pulse-aduio。
運行程序時,控制台應打印
ALSA lib pcm_dsnoop.c:606:(snd_pcm_dsnoop_open) unable to open slave
ALSA lib pcm.c:2266:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2266:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2266:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib pcm_route.c:867:(find_matching_chmap) Found no matching channel map
ALSA lib pcm_route.c:867:(find_matching_chmap) Found no matching channel map
ALSA lib pcm_route.c:867:(find_matching_chmap) Found no matching channel map
Cannot connect to server socket err = No such file or directory
Cannot connect to server request channel
jack server is not running or cannot be started
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock
最后一行指出Jack已停止並且語音輸入正被重定向為pulse。
實際發生的是,音頻resoruce(mic)僅被引導到插孔或脈沖,所以我卸載了jack
現在我的程序運行正常
當我嘗試您的代碼時,出現以下attribute
錯誤。
AttributeError: 'Recognizer' object has no attribute 'recognize'
看完文檔后 , Recognizer
類似乎沒有方法可recognize
。 您將需要使用recognize
類提供的幾種recognize_*
方法之一。
看來您想使用recognize_google
,所以當我從
print("You said " + r.recognize(audio))
至
print("You said " + r.recognize_google(audio))
該代碼為我工作。
我說了“你好”,這在下面得到了認可。
Python 2.7.9 (default, Dec 10 2014, 12:24:55) [MSC v.1500 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> ================================ RESTART ================================
>>>
say something1
say something2
say something3
say something
You said hello
希望這可以幫助。
我也有這個問題,並且不斷變化
audio = r.listen(source,timeout=3)
至
audio = r.listen(source,timeout=3, phrase_time_limit=3)
為我解決了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.