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