shaper 8 mod

cheapo waveshaper.based on 'table/read/interp'. works as wavetable-oscillator as well.
Author: Robert Schirmer
License: BSD
Github: rbrt/fx/shaper 8 mod.axo

Inlets

frac32buffer.bipolar in

frac32.bipolar m1

frac32.bipolar m2

frac32.bipolar m3

frac32.bipolar m4

frac32.bipolar m5

frac32.bipolar m6

frac32.bipolar m7

frac32.bipolar m8

Outlets

frac32buffer.bipolar out

Parameters

frac32.s.map p1

frac32.s.map p2

frac32.s.map p3

frac32.s.map p4

frac32.s.map p5

frac32.s.map p6

frac32.s.map p7

frac32.s.map p8

Declaration
int32_t array[8];
Control Rate
array[0] = param_p1 + inlet_m1;
array[1] = param_p2 + inlet_m2;
array[2] = param_p3 + inlet_m3;
array[3] = param_p4 + inlet_m4;

array[4] = param_p5 + inlet_m5;
array[5] = param_p6 + inlet_m6;
array[6] = param_p7 + inlet_m7;
array[7] = param_p8 + inlet_m8;
Audio Rate
uint32_t asat = __USAT(((inlet_in >> 1) + (1 << 26)), 27);
int index = asat >> 24;
int32_t y1 = array[index];
int32_t y2 = array[(index + 1) & 7];
int frac = (asat - (index << 24)) << 6;
int32_t rr;
rr = ___SMMUL(y1, (1 << 30) - frac);
rr = ___SMMLA(y2, frac, rr);
outlet_out = rr << 2;

Privacy

© 2024 Zrna Research