Simple Brutefir Config

From DRC

Jump to: navigation, search
## DEFAULT GENERAL SETTINGS ##

float_bits: 32;             # internal floating point precision
sampling_rate: 44100;       # sampling rate in Hz of audio interfaces
filter_length: 8192,8;       # length of filters
overflow_warnings: true;    # echo warnings to stderr if overflow occurs
show_progress: false;        # echo filtering progress to stderr
max_dither_table_size: 0;   # maximum size in bytes of precalculated dither
allow_poll_mode: false;     # allow use of input poll mode
modules_path: ".";          # extra path where to find BruteFIR modules
monitor_rate: false;        # monitor sample rate
powersave: true;           # pause filtering when input is zero
lock_memory: true;          # try to lock memory if realtime prio is set
convolver_config: "/home/neil/drc/drc-2.5.1/garage/.brutefir_convolver"; # location of convolver config file

## GENERAL EXPLANATION ##
## Sections comprise types input, output, coeff and filter.
## input defines how BruteFIR gets its audio data
## output defines where BruteFIR sends its audio data after filtering
## coeff allows the input of filter coefficients like those generated by DRC, 
## or crossover filters like high pass for a tweeter & low pass for a woofer. 
## filter combines an input with filter coefficients producing an output
## The configuration below is probably the simplest you will get 
## for a DRC setup. The input section reads in audio data 
## from standard input, DRC corrections for the left and right speakers 
## are read from their respective files. The left and right inputs and 
## filter coefficients are then combined. The output is sent to ALSA, 
## the linux sound system. BruteFIR is run from the command line using
##   cdparanoia --output-raw-little-endian 2 - | brutefir ./.brutefir_config
## where the 2 is telling cdparanoia to rip the second track of the cd.
## COEFF DEFAULTS ##

coeff "drc_l" {
	filename: "/home/neil/drc/drc-2.5.1/garage/rps-l.pcm";
	format: "FLOAT_LE";     # file format
	attenuation: 0.0;   # attenuation in dB
	blocks: -1;         # how long in blocks
	skip: 0;            # how many bytes to skip
	shared_mem: false;  # allocate in shared memory
};
coeff "drc_r" {
	filename: "/home/neil/drc/drc-2.5.1/garage/rps-r.pcm";
	format: "FLOAT_LE";     # file format
	attenuation: 0.0;   # attenuation in dB
	blocks: -1;         # how long in blocks
	skip: 0;            # how many bytes to skip
	shared_mem: false;  # allocate in shared memory
};

## INPUT DEFAULTS ##
##	device: "file" {path: "/home/neil/drc/drc-2.5.1/garage/cdda.raw";};  # module and parameters to get audio

input  "l_in","r_in" {
	device: "file" {path: "/dev/stdin";};  # module and parameters to get audio
	sample: "S16_LE";   # sample format
	channels: 2/0,1;    # number of open channels / which to use
	delay: 0,0;         # delay in samples for each channel
	maxdelay: -1;       # max delay for variable delays
	mute: false,false;  # mute active on startup for each channel
};

## OUTPUT DEFAULTS ##

output "l_out","r_out" {
	device: "alsa" {param: "es1968";};  # module and parameters to put audio
	sample: "S16_LE";   # sample format
	channels: 2/0,1;    # number of open channels / which to use
	delay: 0,0;         # delay in samples for each channel
	maxdelay: -1;       # max delay for variable delays
	mute: false,false;  # mute active on startup for each channel
	dither: false;      # apply dither
};

## FILTER DEFAULTS ##

filter "l_filter" {
	from_inputs: "l_in"/8.0;
	to_outputs: "l_out"/0.0;
	process: 0;        # process index to run in (-1 means auto)
	coeff: "drc_l";
	delay: 0;           # predelay, in blocks
	crossfade: false;   # crossfade when coefficient is changed
};
filter "r_filter" {
	from_inputs: "r_in"/8.0;
	to_outputs: "r_out"/0.0;
	process: 0;        # process index to run in (-1 means auto)
	coeff: "drc_r";
	delay: 0;           # predelay, in blocks
	crossfade: false;   # crossfade when coefficient is changed
};
Personal tools