mmmt-tools / Synthesis / waveshaping
on-device · nothing leaves this page

Waveshaping

Send a clean sine through a transfer function — a curve that maps every input level to an output level — and you bend the waveform into a new shape with new harmonics. The trick here is the Chebyshev polynomials: Tn turns a unit sine into exactly the nth harmonic, so you can dial each harmonic in directly. Drive raises the input level, which walks the sine further along the curve — so with real waveshaping the timbre changes with how hard you play.

0
transfer curve
spectrum

Harmonics (Chebyshev)

1.00
0.00
0.40
0.00
0.20

Drive

0.80

At full drive the sine reaches the curve's ±1 edges; back it off to stay in the near-linear middle and hear the harmonics fade.

Amp envelope

0.01
0.3
0.7
0.4

play with your keyboard (a s d f …) or click the keys