Synth Framework — Documentation Index
Browser-based synthesiser framework built on the Web Audio API. Five synth engines, 14 DSP modules, step sequencer, and MIDI player.
Architecture
| Doc |
Covers |
| Overview |
Architecture, unified engine contract, module types, backward loop pattern, lifecycle |
| Engine |
initSynth() orchestrator, renderToBuffer(), factory lock support |
| Core Utilities |
SAMPLE_RATE, encodeWAV, adsrAmplitude, normalize, math helpers |
| Playback |
AudioContext lifecycle, playBuffer with VU meter, WAV download |
| Sequencer |
Step sequencer: strips, patterns, scheduler, effect chain, live audio, sidechain ducking, per-step Note tab with scale/key, modulation routing, Turing Machine |
| MIDI Player |
SMF parser, AudioContext-timed scheduling, incremental voice allocator |
Synth Engines
All engines share the same buildLiveChain + trigger pattern with a unified backward loop. Details differ only in source creation and module params.
| Engine |
Doc |
Description |
| Kick |
engines/kick |
Bass drum with pitch sweep, noise click, sub |
| Snare |
engines/snare |
Snare drum with body osc, buzz BPF, crack noise |
| Hihat |
engines/hihat |
Hi-hat with noise + metallic ring through BPF |
| BIA Clone |
engines/bia-clone |
Monophonic terrain synthesis (Basic/Bias/Bizarre) |
| Juno |
engines/juno |
Polyphonic Juno-inspired (DCO, VCF, Chorus) |
Processor Modules (wired by backward loop)
| Module |
Doc |
Used by |
Purpose |
| Filter |
— |
All |
Low-pass BiquadFilter |
| EQ |
— |
All |
3-band shelving/peaking EQ (type source, skipped by loop) |
| Compressor |
— |
All |
Dynamics compressor |
| Limiter |
modules/limiter |
Juno |
Brickwall limiter (-6 dB, 20:1) |
| OTT |
— |
BIA |
Multiband upward/downward compressor |
| Clarity |
modules/clarity |
All |
Dynamic mud + air reduction |
| Chorus |
modules/chorus |
Juno |
BBD stereo chorus (Mode I/II/I+II) |
Source / Utility Modules
| Module |
Doc |
Used by |
Purpose |
| Noise |
modules/noise |
All |
Cached noise buffer + createNoiseSource() |
| Pitch |
— |
Kick |
Frequency ramp (pitch decay/envelope) |
| Volume |
— |
All |
AD gain envelope node |
| Terrain |
— |
BIA |
Wave terrain shaper network (Basic/Bias/Bizarre + decimation) |
| Tear |
— |
BIA |
LFO modulating terrain crossfade/deci params |
| Osc |
— |
— |
Per-trigger oscillator bank (unused — built inline) |
| Sub |
— |
— |
Sub oscillator (unused — built inline) |
Shared Infrastructure
| Doc |
Covers |
| Distortion |
DistortionPipeline, curve types, chain builder, UI |
| Preset Manager |
Preset CRUD, localStorage, manifest.json, folder groups |
| UI Builder |
Module section cards, slider types, canvas drawing, lock sync |