[pulseaudio-discuss] Pulseaudio + BruteFIR-convolver howto

Rene Bartsch ml at bartschnet.de
Fri Sep 18 04:21:27 PDT 2015


For all who want Pulseaudio with convolving/digital-room-correction:

Pulseaudio -> BruteFIR -> ALSA (BruteFIR needs to be the last 
manipulation in the audio-stream chain)


/etc/pulse/default.pa:
-------------------------------------------------------------------------------

load-module module-null-sink sink_name=default 
sink_properties="device.description='Default'" channels=8 
channel_map=front-left,front-right,rear-left,rear-right,front-center,lfe,side-left,side-right
set-default-sink  default

-------------------------------------------------------------------------------



BruteFIR I/O-configuration:
-------------------------------------------------------------------------------

input 0,1,2,3,4,5,6,7 {
     device:	"file" { path: "/dev/stdin"; };  # Use STDIN
     sample:	"S32_LE";                        # Best sample format 
supported by soundcard
     channels:	8;
};


output 0,1,2,3,4,5,6,7 {
     device:	"alsa" { device: "hw:<name>,0"; ignore_xrun: true; };	# 
Direct ALSA hardware access ("hw:"), ignore ALSA I/O-underruns
     sample:	"S32_LE";						# best sample format supported by soundcard
     channels:	8;						# number of open channels / which to use
};

------------------------------------------------------------------------------------



Command-line/start-script:
-------------------------------------------------------------------------------------------

pacat --record --device=default --volume=65536 --rate=48000 
--format=s32le --channels=8 
--channel-map=front-left,front-right,rear-left,rear-right,front-center,lfe,side-left,side-right 
\
| sudo /usr/bin/brutefir -nodefault <path to BruteFIR 
configuration-file>

-------------------------------------------------------------------------------------------


"--rate=" has to match "sampling_rate" in the global configuration of 
BruteFIR.
"--format=" has to match "sample" and "--channels=" has to match 
"channels" in the input-configuration of BruteFIR.
"--channel-map" defines how to map channels to the input channels (0 - 
7).


If you're having trouble with ALSA I/O-underruns, try other values for 
"filter_length" in the BruteFIR global configuration (e.g. 512,128 
instead of 65536).

Using "module-pipe-sink" instead of "module-null-sink" + "pacat" causes 
ALSA I/O-underruns, too


-- 
Best regards,

Renne


More information about the pulseaudio-discuss mailing list