New Category/Thread for Working Baseline Configs for the Matrix Voice


#1

I’m getting good results from the Matrix Voice kernel modules after a bit of tinkering. Maybe others could share their success? I’ll start…

Matrix Voice - Working Baseline Configuration

Raspbian Stretch Light

Matrix Kernel Modules

/etc/asound.conf

pcm.!default {
    type asym
    capture.pcm "mic"
    playback.pcm "speaker"
}

pcm.mic {
   type softvol

   min_dB       -1.0
   max_dB       50.0

   slave {
     pcm "array"
   }
   control {
     name "MicArray Master"
        card 0
   }
}

pcm.speaker {
  type plug
  slave {
    pcm "hw:0,0"
  }
}

pcm.array {
  type mmap_emul
    slave {
    pcm "hw:2,0"
  }
}

Storing the Mic Array Volume

Currently, using “sudo alsactl store” to store the mic array volume gives this error…

pi@raspberrypi:~ $ sudo alsactl store
alsactl: get_control:256: Cannot read control '2,0,0,MIC ARRAY Volume,0': Input/output error

To work around this, I have edited /etc/rc.local with the following to set/restore the volume at boot…

arecord -d 1 --device=default -r 48000 -c 1  -f S16_LE /home/pi/test.wav
sleep 1
amixer sset 'MicArray Master' 25%

Record with ALSA arecord
arecord -d 3 --device=default -r 48000 -c 1 -f S16_LE test.wav

I hope this helps someone…