1

A note on versions; PulseAudio 10.0 Raspbian - upgraded only (not dist-upgrade) to stretch to get Pulse Audio 10

ALSA reports the following virtual PCM interfaces; mic_channelX is the Matrix microphone array.

arecord -L
null
    Discard all samples (playback) or generate zero samples (capture)
pulse
    PulseAudio Sound Server
sc
mic_channel0
mic_channel1
mic_channel2
mic_channel3
mic_channel4
mic_channel5
mic_channel6
mic_channel7
mic_channel8

This works great from ALSA record, wav file is record of audio in the environment;

arecord --device=mic_channel8 -r 16000 -c 1 -f S16_LE -vv testwav2.wav
Recording WAVE 'testwav2.wav' : Signed 16 bit Little Endian, Rate 16000 Hz, Mono
File PCM (file=/tmp/matrix_micarray_channel_8)
Its setup is:
  stream       : CAPTURE
  access       : RW_INTERLEAVED
  format       : S16_LE
  subformat    : STD
  channels     : 1
  rate         : 16000
  exact rate   : 16000 (16000/1)
  msbits       : 16
  buffer_size  : 8000
  period_size  : 2000
  period_time  : 125000
  tstamp_mode  : NONE
  tstamp_type  : MONOTONIC
  period_step  : 1
  avail_min    : 2000
  period_event : 0
  start_threshold  : 1
  stop_threshold   : 8000
  silence_threshold: 0
  silence_size : 0
  boundary     : 2097152000
Slave: Hardware PCM card 1 'Dummy' device 0 subdevice 0
Its setup is:
  stream       : CAPTURE
  access       : RW_INTERLEAVED
  format       : S16_LE
  subformat    : STD
  channels     : 1
  rate         : 16000
  exact rate   : 16000 (16000/1)
  msbits       : 16
  buffer_size  : 8000
  period_size  : 2000
  period_time  : 125000
  tstamp_mode  : NONE
  tstamp_type  : MONOTONIC
  period_step  : 1
  avail_min    : 2000
  period_event : 0
  start_threshold  : 1
  stop_threshold   : 8000
  silence_threshold: 0
  silence_size : 0
  boundary     : 2097152000
  appl_ptr     : 0
  hw_ptr       : 0
####### +                                          | 15%

My problem has been getting pulseaudio to see and use the microphones. More history on this effort;

I noticed that the -vv shows using Slave: Hardware PCM card 1 'Dummy' device 0 subdevice 0 file=/tmp/matrix_micarray_channel_8

Note on the following commands; These various modules are loaded one at a time (not all at the same time). Each module is commented out to try another setting. Comment them all out and Pulse works.

sudo nano /etc/pulse/default.pa

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

admittedly it was the "PA_SAMPLE_S16LE" that was at fault here.

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 module 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

All in all, I'm not sure where to go next with PulseAudio.

What am I over all trying to do? Speaker output, Microphone input routed through to BlueTooth. All roads seem to point to pulseaudio to facilitated that. I have speaker output working.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.