From DRC
## 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
};