quadrant

Quadrant distortion that imposes an offsets to the signal when changing: mod1: direction (signal going up/down) mod2: positive/negative (signal being +/-.... well duh ;) ) Damp control the filter cutoff the filters the offset-generator. Rate linearly limits the change-rate of the offset-generator. So these are non-linear and linear filter-modes that can be combined to your own taste.
Author: Remco van der Most
License: BSD
Github: sss/dist/quadrant.axo

Inlets

frac32buffer in

Outlets

frac32buffer out

Parameters

frac32.u.map mod1

frac32.u.map mod2

frac32.u.map rate

frac32.s.map.pitch damp

Declaration
int32_t O1;
int32_t prev;
int32_t cap1;
int32_t cap2;
Init
SINE2TINTERP(1 << 30, O1)
Control Rate
int32_t damp;
MTOF(param_damp, damp)
Audio Rate
int32_t in = inlet_in;
int32_t comp;
int32_t offs;
comp = in > prev ? -param_mod1 : param_mod1;

offs = in > 0 ? -param_mod2 : param_mod2;
int32_t rate = (comp + offs - cap1) << 1;
rate = rate > param_rate ? param_rate : rate;
rate = rate < -param_rate ? -param_rate : rate;
cap1 = ___SMMLA(rate, damp, cap1);

outlet_out = in + cap1;
prev = inlet_in;

Privacy

© 2024 Zrna Research