screamo

Screaming resonance lowpass filter with low-boost control. This is not a normal "take away all those frequencies" filter, but depending on resonance and low amounts, the resonance will scream with lots of overtones, the low might be completely overdriven or, in case of inverse low, a kind of a bandpass/highpass can be created.
Author: Remco van der Most
License: BSD
Github: sss/filter/screamo.axo

Inlets

frac32buffer input

frac32 cutoff

Outlets

frac32buffer output

Parameters

frac32.s.map.pitch freq

frac32.u.map res

frac32.s.map low

frac32.s.map mod

Declaration
int32_t val;
int32_t hp;
int32_t feed;
Init
val = 0;
Audio Rate
int32_t f;
int32_t tmp = inlet_in - val;
MTOF(param_freq + inlet_cutoff +
         (___SMMUL(param_mod, tmp > 0 ? tmp : -tmp) << 5),
     f);

int32_t diff = -___SMMUL(__SSAT(feed - inlet_in * 0, 27), param_res) << 6;
int32_t ts = __SSAT(diff, 28);
int32_t tsq31 = ts << 3;
int32_t tsq31p3 = ___SMMUL(tsq31, ___SMMUL(tsq31, tsq31));
ts = ts + (ts >> 1) - (tsq31p3);
int32_t tv1 = val;
int32_t tv2 = val;
tv1 = ___SMMLA(
    (__SSAT(inlet_in + ts + ___SMMUL(param_low << 4, tv2 << 1), 28) - tv1) << 1,
    f, tv1);
tv2 = ___SMMLA((inlet_in - tv2) << 1, f, tv2);
val = tv1;
outlet_out = val;
hp = ___SMMLA((val - hp) << 1, f >> 1, hp);
feed = hp - val;
// hp=val;

Privacy

© 2024 Zrna Research