2

I am 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 until it reaches the print stage, then it 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
peterh
  • 11,875
  • 18
  • 85
  • 108
Charan Karthikeyan
  • 57
  • 1
  • 2
  • 12

2 Answers2

11

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.

Phil321
  • 201
  • 4
  • 5
1

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.

zmechanic
  • 1,842
  • 21
  • 27