[solved] dsnoop not working with fresh RPi3B and 4-Mic


Everything works except for recording from 2 programs simultaneously. I uninstalled/reinstalled. (Full excerpt available.)

Error during reinstall (completed fine):
</s>Error! There are no instances of module: seeed-voicecard<e>

Also, there’s this problem (no dsnoop shown):
</s>$ arecord -l **** List of CAPTURE Hardware Devices **** card 1: seeed4micvoicec [seeed-4mic-voicecard], device 0: bcm2835-i2s-ac10x-codec0 ac10x-codec0-0 [] Subdevices: 1/1 Subdevice #0: subdevice #0 <e>

While troubleshooting, I uncommented 2 sections in the 4-Mic’s /etc/asound.conf but that didn’t resolve the issue.

Multiple recordings test:
</s>$ arecord hello.wav arecord: main:788: audio open error: Device or resource busy<e>

dsnoop test:
</s>$ arecord -D dsnoop test.wav ALSA lib pcm_dsnoop.c:618:(snd_pcm_dsnoop_open) unable to open slave arecord: main:788: audio open error: No such file or directory<e>

Help appreciated, thanks!

Hi there,

  1. please try the audacity to record and play and see if it works.

    Open Audacity and select AC108 & 4 channels as input and bcm2835 alsa: - (hw:0:0) as output to test:

    $ sudo apt update

    $ sudo apt install audacity

    $ audacity // run audacity

  2. please specify the detail info as below and see if it works.

    arecord -Dac108 -f S32_LE -r 16000 -c 4 hello.wav // only support 4 channels

    aplay hello.wav // make sure default device

    // Audio will come out via audio jack of Raspberry Pi



Is it okay to skip the Audacity test? I’m using the latest Rasbian Lite.

The results are:

</s>$ arecord -Dac108 -f S32_LE -r 16000 -c 4 hello.wav Recording WAVE 'hello.wav' : Signed 32 bit Little Endian, Rate 16000 Hz, Channels 4<e>

…and one second later (for simultaneous recording):

</s>$ arecord -Dac108 -f S32_LE -r 16000 -c 4 hello2.wav arecord: main:788: audio open error: Device or resource busy<e>

…playing works fine and I can hear the audio

</s>$ aplay hello.wav Playing WAVE 'hello.wav' : Signed 32 bit Little Endian, Rate 16000 Hz, Channels 4<e>

Cannot record from multiple apps using RPi 3B

I’m beginning to think this device doesn’t work with dsnoop on the non-plus version of RPi 3B. Can anyone else confirm this?

Here’s what worked for me. Using as /etc/asound.conf. Can now record with multiple scripts simultaneous.

Records at any sample rate. There’s no dmix because that doesn’t work with Pi’s onboard audio.

I have another variation if you have USB audio.

Credit: <LINK_TEXT text=“https://www.element14.com/community/thr … hread=true”>https://www.element14.com/community/thread/35824/l/wolfson-and-pocketsphinxcontinuous-error?displayFullThread=true</LINK_TEXT>

defaults.pcm.rate_converter “samplerate”

pcm.bcm2835 {
type hw
card ALSA
pcm.seeed_4mic_voicecard {
type hw
card seeed4micvoicec

pcm.softvol {
type softvol
slave {
pcm “pduplex”
control {
name “Master”
card 0

pcm.!default {
type asym
playback.pcm “plug:softvol”
capture.pcm “pduplex”

pcm.recmixer {
ipc_key 140325
ipc_key_add_uid true
type dsnoop
slave.pcm “seeed_4mic_voicecard”

pcm.duplex {
type asym
playback.pcm “bcm2835”
capture.pcm “recmixer”

pcm.pduplex {
type plug
slave.pcm “duplex”

ctl.pduplex {
type hw
card 0

pcm.dsp0 {
type plug
slave.pcm “duplex”

ctl.mixer0 {
type hw
card 0