Drumlab

a drum machine you learn by building it ten times

Ten self-contained web apps. The first is four drums and sixteen steps; the last is a sampling groovebox with parameter locks, MIDI, offline bounce and polyrhythms. Every milestone is the one before it, copied forward and extended — so the difference between two folders is the lesson.

How to use this. Open a milestone, press ? for the guided tour (it plays sound and teaches the new idea), then read that folder's README.md and the code it points you at. Work in order — each app assumes the one before it. No install, no build step, no network: every sound is synthesised in the browser.
Ready
M01

First Beat

The Web Audio graph, drums made of arithmetic, a 4×16 grid — and a clock that is wrong on purpose.

Ready
M02

Rock-Solid Time

Why that clock drifts, and the lookahead scheduler that fixes it. Swing, accents, tap tempo, pattern length.

Ready
M03

The Mixer

Eight channels, real faders, and the reason your knobs don’t crackle. Pan, mute, solo, meters, factory kits and a master bus that refuses to clip.

Ready
M04

Patterns & Song

Sixteen patterns, switching that waits for the bar line, a song arrangement, and a project that survives a reload — the milestone that makes undo and WAV export possible later.

Ready
M05

Sound Design Lab

One generic voice — oscillator, noise, filter, envelope — that becomes every drum in the kit by changing one number. Plus dropped samples, mic recording and a waveform editor.

Ready
M06

Effects Rack

Inserts versus sends, and the number that settles the argument. A reverb generated from decaying noise, a ping-pong delay locked to the tempo, and a master chain you can A/B at matched level.

Ready
M07

Parameter Locks

A step stops being a boolean and becomes a record. Hold a pad and turn a knob: per-step parameters, micro-timing, ratchets, probability, conditional trigs and a per-track LFO — almost all of it free, because M02 got the clock right.

Ready
M08

Performance Mode

The machine you play rather than edit. MIDI is bytes, its clock is one byte twenty-four times a quarter, and a virtual device sends both — so the pads, the clock sync, the scenes and the non-destructive live record all work with nothing plugged in.

Queued
M09

The Studio

Bounce to WAV with a hand-written encoder, export stems and MIDI files, undo/redo, and a project browser.

Queued
M10

Mastery

Polymeter, Euclidean rhythms, chopped breakbeats, an automation timeline — and the whole course as an in-app lesson book.