PyAudio prints ALSA warnings and does not work

2019-02-20 17:11发布

hey guys i'm trying to run a basic python speech to text code. This is the code.

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

try:
   print("You said " + r.recognize(audio))     
except LookupError:                            
   print("Could not understand audio")

The code works fine till it reaches the print stage and then throws this error. Is there anything that i have done wrong?

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
ALSA lib pcm_route.c:867:(find_matching_chmap) Found no matching channel map

Any help is appreciated and Thanks in advance

2条回答
在下西门庆
2楼-- · 2019-02-20 17:23

It seems that you have multiple audio input sources, and the first one is not supported by the speech-recognition library. There is another possibility that you have no audio inputs at all.

Try different indexes (e.g. 0, 1, 2, etc) with sr.Microphone(...) as per example below:

with sr.Microphone(device_index=0) as source:

But first, it's a good idea to run cat /proc/asound/card to see what audio devices you've got.

查看更多
我只想做你的唯一
3楼-- · 2019-02-20 17:45

if someone is still looking for getting rid of

ALSA lib pcm_route.c:867:(find_matching_chmap) Found no matching channel map

I just commented out all pcm.surround* lines in "PCM interface" section in

/usr/share/alsa/alsa.conf

file and it works fine for me.

查看更多
登录 后发表回答