ALSA Card for Respeaker 4-Mic Setup

During the installation, we are supposed to check the sound card by pressing ‘arecord -L’ to obtain a certain output like shown below,

pi@raspberrypi:~ $ arecord -L
null
Discard all samples (playback) or generate zero samples (capture)
jack
JACK Audio Connection Kit
pulse
PulseAudio Sound Server
default
playback
ac108
sysdefault:CARD=seeed4micvoicec
seeed-4mic-voicecard,
Default Audio Device
dmix:CARD=seeed4micvoicec,DEV=0
seeed-4mic-voicecard,
Direct sample mixing device
dsnoop:CARD=seeed4micvoicec,DEV=0
seeed-4mic-voicecard,
Direct sample snooping device
hw:CARD=seeed4micvoicec,DEV=0
seeed-4mic-voicecard,
Direct hardware device without any conversions
plughw:CARD=seeed4micvoicec,DEV=0
seeed-4mic-voicecard,
Hardware device with all software conversions
usbstream:CARD=seeed4micvoicec
seeed-4mic-voicecard
USB Stream Output
usbstream:CARD=ALSA
bcm2835 ALSA
USB Stream Output

However, the output that I have received is as shown below,

It basically shows that I don’t have the ASLA soundcard, and I cant move on to the sound localization process. Please show how can I move forward, thanks!

1 Like

Hi.

Did you find the solution to your issue? Currently I’m having the same problem.

Did you get this solved? I’m facing the same issue

I’m also having the same problem…

Solved. Use the legacy Raspi OS.

Still cannot solve…….

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

image

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

image

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

image

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