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.
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.
play with your keyboard (a s d f …) or click the keys