## GENERAL SETTINGS ## float_bits: 32; # internal floating point precision sampling_rate: 44100; # sampling rate in Hz of audio interfaces filter_length: 256,8; # length of filters overflow_warnings: true; # echo warnings to stderr if overflow occurs show_progress: true; # 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: true; # monitor sample rate lock_memory: false; # try to lock memory if realtime prio is set convolver_config: "/home/.wisdom"; # location of convolver config file ## COEFFICIENTS ## coeff "ctweeter" { format: "text"; filename: "/home/highpass.txt"; attenuation: 0; shared_mem: false; }; coeff "cmidrange" { format: "text"; filename: "/home/bandpass.txt"; attenuation: 0; shared_mem: false; }; coeff "cwoofer" { format: "text"; filename: "/home/lowpass.txt"; attenuation: 0; shared_mem: false; }; ## INPUTS ## input "ileft" { device: "file" {path: "/dev/stdin";}; # module and parameters to get audio sample: "S16_LE"; # sample format channels: 2/0; # 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 }; ## OUTPUTS ## output "otweeter","omidrange" { device: "alsa" { device: "hw:0,0"; link: false; }; sample: "S32_BE"; # 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 }; output "owoofer","onotused" { device: "alsa" { device: "hw:0,1"; link: false; }; sample: "S32_BE"; # 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 }; ## FILTERS ## filter "fdrc" { from_inputs: "ileft"/0.0; to_filters: "ftweeter", "fmidrange", "fwoofer", "fnotused"; process: 0; # process index to run in (-1 means auto) coeff: -1; # -1 means "copy" delay: 0; # predelay, in blocks crossfade: false; # crossfade when coefficient is changed }; filter "ftweeter" { from_filters: "fdrc"/0.0; to_outputs: "otweeter"/6.0; process: 0; # process index to run in (-1 means auto) coeff: "ctweeter"; delay: 0; # predelay, in blocks crossfade: false; # crossfade when coefficient is changed }; filter "fmidrange" { from_filters: "fdrc"/0.0; to_outputs: "omidrange"/0.0; process: 0; # process index to run in (-1 means auto) coeff: "cmidrange"; delay: 0; # predelay, in blocks crossfade: false; # crossfade when coefficient is changed }; filter "fwoofer" { from_filters: "fdrc"/0.0; to_outputs: "owoofer"/7.0; process: 0; # process index to run in (-1 means auto) coeff: "cwoofer"; delay: 0; # predelay, in blocks crossfade: false; # crossfade when coefficient is changed }; filter "fnotused" { from_filters: "fdrc"/0.0; to_outputs: "onotused"/0.0/-1; process: 0; # process index to run in (-1 means auto) coeff: "cwoofer"; # -1 means "copy" delay: 0; # predelay, in blocks crossfade: false; # crossfade when coefficient is changed };