I have been having great success using the ReSpeaker 2-mic hat on a pi zero as a Rhasspy satellite.
I also run a Logitech Media Server on my host machine for streaming music to dedicated players around the house.
While trying to get squeezelite running on the Rhasspy satellite i found something a little strange with the audio quality. With Rhasspy and Squeezelite running simultaneously, the audio quality coming from squeezelite is pretty terrible. (Sounds highly compressed?).
If i change the Rhasspy aplay device to something other than “sysdefault:CARD=seeed2micvoicec”, the Rhasspy audio out breaks, but the squeezelite audio output is vastly improved.
I don’t really know enough about this setup to know whats going on with aplay, but i would appreciate any support in getting pointed in the right direction.
EDIT: I have been digging through this post for ideas (Playing sound at the same time from Rhasspy (Docker) and the host) , the only major difference here is that my audio playback is working for both audio sources, its just very poor quality when it is working.
Some more info below:
cat /etc/asound.conf
defaults.pcm.rate_converter “samplerate”
pcm.!default {
type asym
playback.pcm “playback”
capture.pcm “capture”
}pcm.playback {
type plug
slave.pcm “dmixed”
}pcm.capture {
type plug
slave.pcm “array”
}pcm.dmixed {
type dmix
slave.pcm “hw:seeed2micvoicec”
ipc_key 555555
}pcm.array {
type dsnoop
slave {
pcm “hw:seeed2micvoicec”
channels 2
}
ipc_key 666666
}
When playing from Squeezelite with Rhasspy turned off, i get the below output from cat /proc/asound/card0/pcm0p/sub0/hw_params
access: MMAP_INTERLEAVED
format: S32_LE
subformat: STD
channels: 2
rate: 44100 (44100/1)
period_size: 441
buffer_size: 1764
With Rhasspy enabled, it outputs the below
access: MMAP_INTERLEAVED
format: S16_LE
subformat: STD
channels: 2
rate: 16000 (16000/1)
period_size: 2000
buffer_size: 8000
It seems like with both running together, it is forcing the sample rate lower which is causing the poor squeezelite audio quality.