I can use any of the microphones sources in alsa using,
arecord --device=mic_channel8 -r 16000 -c 1 -f S16_LE -vv testwav2.wav
and aplay will play back the audio through the 3.5mm jack
pulseaudio can also play back the same wav file.
I noticed that the -vv shows using
Slave: Hardware PCM card 1 ‘Dummy’ device 0 subdevice 0
file=/tmp/matrix_micarray_channel_8
In pulseaudio these all fail with errors on the daemon starting up (pulseaudio -vv)
load-module module-pipe-source /tmp/matrix_micarray_channel_8
E: [pulseaudio] module-pipe-source.c: Failed to parse module arguments.
E: [pulseaudio] module.c: Failed to load module “module-pipe-source” (argument: “/tmp/matrix_micarray_channel_8”): initialization failed.
E: [pulseaudio] main.c: Module load failed.
E: [pulseaudio] main.c: Failed to initialize daemon.
load-module module-alsa-source device=mic_channel0
pulseaudio: pcm_file.c:397: snd_pcm_file_add_frames: Assertion `file->wbuf_used_bytes < file->wbuf_size_bytes’ failed.
Aborted
load-module module-alsa-source device=mic_channel8 rate=16000 channels=1 format=PA_SAMPLE_S16LE
E: [pulseaudio] alsa-source.c: Failed to parse sample specification and channel map
E: [pulseaudio] module.c: Failed to load module “module-alsa-source” (argument: “device=mic_channel8 rate=16000 channels=1 format=PA_SAMPLE_S16LE”): initialization failed.
E: [pulseaudio] main.c: Module load failed.
E: [pulseaudio] main.c: Failed to initialize daemon.
#this doesn’t complain about argument parsing, but instead fails with the assertion below.
load-module module-alsa-source device=mic_channel8 rate=16000 channels=1 format=s16le
pulseaudio: pcm_file.c:397: snd_pcm_file_add_frames: Assertion `file->wbuf_used_bytes < file->wbuf_size_bytes’ failed.
Aborted
Basically what I’m after is getting pulseaudio to use the alsa mic sources, any one of them or all. I’m guessing because the Microphone array is an ALSA Virtual PCM interface as shown by arecord -L that my direction is wrong.
If you have a direction I can follow. I’m reading the source files in pulseaudio for the arguments to determine where I’ve gone wrong there too.
TIA
- Bill