Wavetable synth

Build custom Fourier wavetables and crossfade between two oscillators holding different timbres.

npx web-audio-api wavetable organ 220 0.3 6s
preset=<name>
organ, bell, pulse, or voice
freq=<hz|note>
frequency or note name in the CLI (default: 220)
morph=<0..1>
crossfade toward the next preset
-d, --duration <time>
run time (CLI accepts s/m/h suffixes; default: 6s)
ready

This is a wavetable synthesizer online: custom Fourier-built wavetables sit behind two oscillators that crossfade between different timbres. Morph between presets in the browser, or render the same custom PeriodicWave graph from the Node CLI.