dub_synthan endless dub techno engine
The genre's own account of itself is that composition happens at the mixer, not on a grid: one bar of riddim repeats unchanged while a hand rides feedback, filters, sends and mutes over it. So the composable unit here is a gesture on a channel, and long-form structure is made by taking things away.
Open the desk →Web Audio, so it needs a click before it makes a sound. Runs forever; nothing repeats.
What it is
Every design decision traces to a measured source rather than to genre intuition — echo parameters with numbers, six notated track analyses, and the section timings the long-form model is derived from. Where the source gives a figure, the code carries it and cites the section at the point of use.
- Three stab layers, each with its own echo, because the call-and-response comes from their decays intersecting
- A feedback walk anchored to the eighth note and deliberately detuned off it, so it never locks to the grid
- No sidechain ducking — the wet sits under the dry by level, which is a source decision
- Sections of minutes, spaced irregularly, with the drop made by removal
Run it locally
git clone https://github.com/kleer001/dub_synth
cd dub_synth && npm install
npm run desk # the live desk
npm run render -- --seconds=300 --out=/tmp/dub.wav
The hosted desk plays the synthesized kick. The sampled kicks need a local sample library, which the dev server mounts and the repo does not vendor.