soft

symetrical soft saturation distortion: y=1.5*x-0.5*x^3 for -1<x<1, y=-1 for x<-1, y=1 for x>1, no oversampling or anti-aliasing
Author: Johannes Taelman
License: BSD
Github: dist/soft.axo

IO Variants: 2


Variant: 1

Inlets

frac32 input

Outlets

frac32.bipolar output

Control Rate
int32_t ts = __SSAT(inlet_in, 28);
int32_t tsq31 = ts << 3;
int32_t tsq31p3 = ___SMMUL(tsq31, ___SMMUL(tsq31, tsq31));
outlet_out = ts + (ts >> 1) - (tsq31p3);

Variant: 2

Inlets

frac32buffer audio input

Outlets

frac32buffer.bipolar audio output

Audio Rate
int32_t ts = __SSAT(inlet_in, 28);
int32_t tsq31 = ts << 3;
int32_t tsq31p3 = ___SMMUL(tsq31, ___SMMUL(tsq31, tsq31));
outlet_out = ts + (ts >> 1) - (tsq31p3);

Privacy

© 2024 Zrna Research