I have respeaker core v2 and maybe my example can help you, since it has similar parameters. I have struggled for a long time and finally have success, the microphone and sound work. It’s best if you read this documentation
You need to check the sound card first with the command
pactl info
The sound card is displayed here and it is selected by default
If you see here Default Sink: will be auto_null
, then the PulseAudio service may not be running or a line in /lib/udev/rules.d/90-pulseaudio.rules
may not be added
Open 90-pulseaudio.rules
sudo nano /lib/udev/rules.d/90-pulseaudio.rules
and add this line. I recommend adding it at the end. Find for example the line Lenovo
#Seeed Voicecard
ATTR{id}=="seeed8micvoicec",ATTR{number}=="0",ENV{PULSE_PROFILE_SET}="seeed-voicecard.conf"
Let’s run PulseAudio on behalf of the respeaker user, not root
pulseaudio -k && pulseaudio --start
Reloading
sudo reboot
Let’s see if the sound card Default Sink: alsa_output.platform-sound_0.seeed-2ch
has appeared
sudo pactl info
If you are using ac108, then download the ready profile here
Rename to asound.conf and place the file in /etc, it should be like /etc/asound.conf
.
You can use .asoundrc in the user profile, but this is a bad way to configure ALSA, since these settings work for a specific user, and they are not available for the system, so it is best to use the settings in /etc/asound.conf.
This is what my config looks like, I’ve changed it a bit and my microphone and sound work fine, it also works fine in Rhasspy
# The IPC key of dmix or dsnoop plugin must be unique
# If 555555 or 666666 is used by other processes, use another one
# use samplerate to resample as speexdsp resample is broken
defaults.pcm.rate_converter "samplerate"
pcm.!default {
type asym
playback.pcm "speaker"
capture.pcm "microfone"
}
pcm.microfone {
type plug
slave {
rate 48000
format S32_LE
pcm "hw:seeed8micvoicec"
}
}
pcm.multiapps {
type plug
slave.pcm {
type dsnoop
slave {
rate 48000
format S32_LE
pcm "hw:seeed8micvoicec"
}
ipc_key 666666
}
}
pcm.speaker(dmix) {
type plug
slave {
pcm {
type dmix
ipc_key 555555
slave {
pcm "hw:seeed8micvoicec"
format S32_LE
channels 8
}
bindings {
0 0
1 1
2 2
3 3
4 4
5 5
6 6
7 7
}
}
channels 8
format S32_LE
rate 48000
}
ttable.0.0 1
ttable.1.1 1
ttable.0.2 1
ttable.1.3 1
ttable.0.4 1
ttable.1.5 1
ttable.0.6 1
ttable.1.7 1
}
pcm.speaker {
type plug
slave {
pcm "hw:seeed8micvoicec"
channels 8
format S32_LE
rate 48000
}
ttable.0.0 1
ttable.1.1 1
ttable.0.2 1
ttable.1.3 1
ttable.0.4 1
ttable.1.5 1
ttable.0.6 1
ttable.1.7 1
}
In Rhasspy, microfone is specified in the microphone section
And in the audio section, plughw is selected:CARD=seeed8micvoicec,DEV=1