A drum machine that lives in one HTML file; no app, no account, any device. Write something, roll the dice, save to a bank, then share as a link your friends can open, tweak, and send right back. When you're done, export .wav and .mid directly into your favorite DAWs.
▶ Play it live · works in any browser, installs on your phone
808.html is a modern homage to the classic drum machines of the 80s, rebuilt as a single self-contained web page, and optimized for playability and sharing. Open it and you've got a full kit with endless tonal variations. It's synthesized live with the Web Audio API, so there's nothing to download. It runs in any browser, and on a phone you can add it to your home screen as a native app. No install, no sign-up, nothing to lose track of. The link you open is literally the whole thing.
A beat in 808.html is just a short link. Make something, save it to a bank, hit
share, and you get a link like benjaminmullins.tv/808?s=t819ly.
Text it, slide into your crush's DMs with it, drop it in the group chat with grandma.
Whoever opens it gets your exact beat starting at bank 1; same sounds, same groove, ready to play. Your friend changes a few things and sends it back. Now you're trading beats back and forth; building a track together without either of you installing a thing. Don't like a part? Undo. Edit. Re-send. The link carries only the short code, so it survives chat apps everywhere.
Here are three I made. Tap one; it opens in the app exactly as I left it: ▶ Demo one · ▶ Demo two · ▶ Demo three
You don't need to know how to make beats. The pads are built to sit together, and with quantize on, anything you tap lands on the beat. Stuck or curious? Roll the dice and it randomizes the whole kit in one tap; new sounds, new timbres, new vibes. It's a fun, fast idea generator and it's hard to put down. When you want to go deeper, there's a real instrument underneath that you can tune and dial in for each individual sound.
Everything is generated live with the Web Audio API. No samples, no libraries, no build step; just math turned into sound the moment you press a pad.
- 8 pads, sound variants for each, fully synthesized and based on 80s kits. Live Web Audio, no samples, which is why the whole instrument is one small file.
- Roll the dice and find a kit you like. Each pad carries 13 pitches and 5 tail lengths (choke): 260 settings a pad, 2,080 across the kit. Push those through the master verb, comp, and heat combinations and there's 2.6 sextillion possible states.
- Live recording with auto-detected tempo (just start playing), overdub layering, knob-motion automation, and non-destructive quantize down to 1/32 for fast trap hats.
- SHIFT mode flips the pad dials to volume and reverb send so you can mix on the surface, and doubles as a silent edit mode for cleaning up a part live.
- 4 memory banks that switch seamlessly on the bar line, and 16 levels of undo that can even bring back a bank you just cleared.
- Export a seamless WAV (16- or 24-bit) or a
.midfile. Drop it into your DAW for a perfect loop. - MIDI in. Click MID and connect any MIDI controller.
Open index.html. That's the whole install; no build step, no dependencies. Or
just play it live at https://benjaminmullins.tv/808. On a phone, use Share →
Add to Home Screen and it runs full-screen and offline.
The five-second version: hit REC, and start tapping pads (the tempo follows you). REC again to close the loop. Save to bank A. Roll the dice. Repeat. Share with grandma when it slaps.
The pads. Eight pads: tom, cowbell, closed hat, open hat up top; boom, kick,
snare, clap below. Tap to play; the corner letter is the key (Q W E R /
A S D F). Each pad has four chips (sound variants) and two dials. By default the
dials are choke (tail length) and pitch; tap a chip to change the voice,
drag a dial to scrub or tap it to step.
Record and quantize. Hit REC (X) and start tapping. On a blank take
there's no count-in; the clock starts on your first hit and reads your tempo. REC
again to close the loop, once more to overdub another layer. Quantize cycles
the grid (1/16 → 1/32 → 1/8 → off) and only snaps playback and export, never
your recorded timing. Hit SHIFT and adjust swing for an even groovier beat.
Crank the tempo and BOOM it's a dance song.
The dice, banks, and export. The dice (G) randomizes the whole kit in one
roll; it never touches your mix, and undo brings the old kit back. Tap
A B C D to load a bank, SAVE then a slot to store, long press a slot to
clear; while playing, a loaded bank takes over on the next bar. WAV opens an
export panel (pick bit depth and sample rate), MID exports a .mid, and
share mints the short link.
| key | does |
|---|---|
Q W E R / A S D F |
the eight pads |
Space |
play / stop |
X |
record |
C |
metronome click |
G |
roll the dice |
1–4 |
memory banks A–D |
Z / Cmd/Ctrl+Z |
undo |
M |
connect MIDI |
hold Shift |
SHIFT layer: volume / send dials, swing, mute |
How do I edit a pad? To change a pad's sound, tap its four chips (variants) or its two dials (choke and pitch; SHIFT flips them to volume and reverb send). To remove a pad's part from the loop, hold the pad; it clears that voice, and undo brings it back. Want to edit during a live take without a stray hit? Hold SHIFT so the pads go silent on screen, then long-press to delete cleanly.
What are the banks for? A, B, C and D each store a whole pattern: the beat, the knob-motion automation, and your knob positions. Use them for verse and chorus sections, to A/B two ideas, or to keep versions as you trade a beat back and forth. Tap to load (seamless on the next bar while playing), arm SAVE then tap a slot to store, and hold a slot to clear.
There's no sound. Make sure your phone ringer is set to "on". Tap the screen once; browsers only start audio after a tap. On an iPhone, the physical silent/ringer switch can also mute web audio, so flip it off. Then check your device volume, and make sure REC actually captured some hits (the pads light as they play back).
Anything else that trips people up?
- Sound lagging or breaking up? Everything is synthesized live, so it leans on your device's processor. It runs on older phones, but for tight timing and clean audio I recommend a newer one.
- Stuck on an old version? Hard-refresh the page, or remove and re-add the home-screen app.
- MIDI not connecting? Press M, reconnect the controller, and use Chrome, Edge, or Firefox. Safari and iPhones/iPads don't support Web MIDI at all.
- Export does nothing? Record a beat first; export needs a loop.
- A shared link won't load? Check your connection and that the whole code pasted.
808.html is only the first of a series if people want them. Bass and Keys come next, then an HTML controller to jam together in the browser, no DAW required. Made something you love? Send me a love note, a beat you made, and tell me if I should keep going. I read every one.
Curious how it got built, the scope creep, the taste, the 37 tries at the dice? That's the essay: Money (and compute) can't buy taste.
Your work stays in your browser. Sharing a beat stores it under a short code on a small Cloudflare service so the link can stay tiny. See PRIVACY.md.
MIT. See LICENSE. Take it apart, fork it, build your own.
Written by Benjamin Mullins, who is not affiliated with or endorsed by Roland Corporation (yet).
