multiband

2-pole resonant 3x multimode filter (LP,HP,BP)(biquad) for multiband purposes The "inv" output subtracts the filtered signal from the original signal to get an inverted response. (input-filter=leftover). Eg. use this to create a multi-band-compressor/distortion/delay. Connect the "out" output to a compressor/distortion/delay and send the "inv" output to the next filter-stage as this signal is the "left-over" part that has been filtered away.
Author: Remco van der Most
License: BSD
Github: sss/filter/multiband.axo

Inlets

frac32buffer filter input

frac32 pitch

frac32 filter resonance

Outlets

frac32buffer filter output

frac32buffer inv

Parameters

frac32.s.map.pitch pitch

frac32.u.map.filterq reso

Attributes

combo mode

Declaration
biquad_state bs;
biquad_coefficients bc;

int i;
Init
biquad_clearstate(&bs);
Control Rate
int32_t freq;
MTOF(param_pitch + inlet_pitch, freq);
biquad_attr_mode_coefs(&bc, freq,
                       INT_MAX - (__USAT(inlet_reso + param_reso, 27) << 4));
biquad_dsp(&bs, &bc, inlet_in, outlet_out);
for (i = 0; i < BUFSIZE; i++) {
  outlet_inv[i] = inlet_in[i] - outlet_out[i];
}

Privacy

© 2024 Zrna Research