A 16/32-step sequencer that runs entirely in your browser. 8 synthesized instruments, per-row timing divisions from 1/32 to 1/4T, a 18-sound offline sample library, and file upload. Zero dependencies. Zero install.
Everything runs in your browser via the Web Audio API. Your audio never leaves your machine.
OfflineAudioContext — no
network required. 808 Kick, Crack Snare, Sizzle Hat, FM Bell,
Crash, and more.OFFLINE
Every row runs its own independent clock. Set hi-hats to 1/32 for double-time, kick to 1/4 for a sparse groove, ride to 1/8T for a triplet feel — all in the same pattern.
Every library sample is synthesized locally via
OfflineAudioContext — no CDN, no
CORS, no waiting. Load your own files on top of any slot.
⬡ synth label under any
instrument
Standalone, npm, or React. Works everywhere the Web Audio API does — Chrome, Firefox, Safari, Edge.
// npm npm install wavr-drum-machine // import import DrumMachine from 'wavr-drum-machine'; // mount const dm = new DrumMachine({ audioContext: new AudioContext(), bpm: 128 }); dm.mount(document.getElementById('container')); // handle bounce dm.onRender = (audioBuffer, bpm) => { // AudioBuffer ready to use }; // load a sample programmatically dm.loadSampleBuffer('kick', buf, 'My Kick'); // per-row step division dm._stepDivs.hhc = '1/32'; // hi-hat → double-time dm._stepDivs.kick = '1/4'; // kick → one per beat
| Browser | Web Audio | Offline Render |
|---|---|---|
| Chrome 66+ | ✓ | ✓ |
| Firefox 76+ | ✓ | ✓ |
| Safari 14.1+ | ✓ | ✓ |
| Edge 79+ | ✓ | ✓ |
| iOS Safari 14.5+ | ✓ | ✓ |
No account. No build step. Open the demo or pull the package.