Four-operator FM synthesis: from your first note to voice modulation, live audio routing, and offline WAV export.
Open live-audio examples over HTTPS or localhost, then click a button to start audio. Keep your volume comfortable; offline WAV rendering needs no AudioContext.
Choose a preset, pitch, and velocity. Play a short or held note, then release it manually.
OPM · parseVoiceBank · playNote · stop
Use Twinkle, Twinkle, Little Star to explore melody, chords, stereo pan, and scheduling or cancelling future notes.
absolute at · lookahead · duration · stereo pan
Bend and glide a held note, adjust expression and pan, and compare amplitude/pitch modulation without retriggering its envelope.
updateNote · pitch · glide · expression · modulation
Borrow the host context, adjust GainNode volume, disconnect/reconnect routing, and verify that disposing the synth leaves host audio open.
context · destination · connect · close
Render stereo PCM without starting live audio, inspect frame counts and diagnostics, then download PCM16 WAV.
renderNote · encodeWav · Float32Array
Explore key scaling, suspend/resume, diagnostics, and approximate six-to-four-operator DX7 SysEx conversion.
keyScale · diagnostics · importDX7
Compare presets and clean-room DX7 conversions across registers and velocities, inspect levels, and download rendered WAV.
preset quality · conversion limits · encodeWav
Pause, seek and loop a beat score, try sustain/mono priority, smooth timbre controls, DSP quality and atomic voice banks, or export multi-format WAV through a bounded Worker sink.
Transport · performance · PCM16/24/Float32 · Worker backpressure · recovery
Switch exploration and combat on beat or bar boundaries, toggle layers while a shared pad keeps sounding, ramp tempo and swing patterns.
createArrangement · quantized sections · linear tempo ramps · voice priority
Play a protected mono lead and a limited poly pad from keyboard, pointer or an optional user-granted MIDI input, with live per-part controls.
Performance · per-key controls · voice limits · optional Web MIDI
Run three OPM instances on one AudioContext with separate gain, filter/echo routing and offline stems.
shared AudioContext · per-bus saturation · stems
Edit four operators, algorithms, envelopes and selective LFO targets with a live signal graph, then export canonical patch JSON.
algorithm graph · dB envelopes · live controls · patch JSON
Play two original FM songs, save and load canonical score projects, and download an offline WAV.
ScoreProject · beat compilation · Transport · WAV export
Examples run the built dist/ ES modules. Their TypeScript helpers live in demo/; every JS has a matching source map and declaration.