Hi, i am rather new to rhasspy and have a problem with the audio input.
I run rhasspy as a docker image on a raspberry pi. I could configure the tools, even connect it to my iobroker with nodered, but it does not recognize my wakeword and my audi messages.
Audio output is fine, i implemented a temerature request and i get the correct answer on the speaker.
I wonder if the problem is not related to the fact that the mic is maybe in use by the host system.
How can I check if all required processes are running on the docker container and the docker container has access to the mic ?
I use a respeaker USB microphone.
How can I test that the microphone is used by the container?
How can a ssh into the container to check that services are running in the image ?
When creating the container I used the command from the doc
docker run -d -p 12101:12101
–name rhasspy
–restart unless-stopped
-v “$HOME/.config/rhasspy/profiles:/profiles”
-v “/etc/localtime:/etc/localtime:ro”
–device /dev/snd:/dev/snd
rhasspy/rhasspy
–user-profiles /profiles
–profile en
Your docker command looks good, and you’re able to test things on the webUI so everything with Rhasspy looks fine. I agree with you - I think its an audio input issue.
I would suggest this:
SSH into your RPi
Run this: arecord -l
Do you see any input devices?
If yes, when you’re configuring your audio input on Rhasspy, do you see an audio input option that corresponds to what your saw in arecord?
If you don’t see anything in arecord -l , your RPi isn’t picking up your respeaker microphone at all.
LMK what you find out from that and I’ll try and help further based on those results
Thanks a lot.
in both the raspi host and the rhasspy docker image i see the same device :
**** List of CAPTURE Hardware Devices ****
card 2: ArrayUAC10 [ReSpeaker 4 Mic Array (UAC1.0)], device 0: USB Audio [USB Audio]
Subdevices: 0/1
Subdevice #0: subdevice #0
Have a read of this and the thread it mentions and add your /etc/asound.conf to your docker run.
The method through the Rhasspy GUI of selecting direct hardware devices likely is a really bad idea especially with docker.
There are 2 types of ALSA interface HW: & PLUGHW: where PLUGHW auto converts format and sample rate to the destination required and should always be used.
Using HW: direct means you have to use the exact format and sample rate of the hardware and just makes things so much more complicated.
The only thing missing from the respeaker asound.conf from memory is the permissions line but the above link will show you.
Just add that to where ever the file is as its a symlink to somewhere but just add that line and after stopping and deleting the container and running the docker-run with the /etc/asound.conf shared to /etc/asound.conf you will be good to go in all occasions.
Unless you do so if anything accesses the hardware such as pulse audio it will block and for some reason Respeaker miss the essential permissions line … ?