gizmobench

Virtual Drums

Nine drum pads you can play with the Q W E, A S D and Z X C keys, a mouse or your fingers, and a step sequencer that loops what you record. Every sound is synthesized in the page from oscillators and filtered noise, so no sample files are downloaded and the WAV you export is made by the same code as the sounds you hear. Press Record and play along with the loop: each hit is read from the audio clock, moved earlier by the output delay the browser reports, and snapped to the nearest 1/8, 1/16 or 1/32 step, or left where you played it with quantize off. Click any square on the grid to add or remove a hit, set the tempo from 40 to 240 BPM and the loop to 1, 2 or 4 bars, and the loop plays back on the audio clock at exact step times. Save the pattern as a project file to open later, copy it as text, or export one loop as a 16-bit WAV that repeats without a gap.

120 BPM

Loop 2.000 s, 14 hits, scheduled on the audio clock. Output delay: shown once the drums have sounded.

BPM
Step
0.125 s
Loop
2.000 s, 14 hits
WAV
176,444 B
Bars

Example beat loaded: kick on every beat, snare on 2 and 4, closed hat on every eighth. Press Play to hear it, or Clear to start from nothing.

  • Kick on beats 1 to 4120 BPM, quarter notes
    hits at 0, 0.5, 1 and 1.5 s
  • Key Z held downthe keyboard repeats keydown
    one kick, which ends on its own after 0.55 s
  • Clap recorded at 0.27 squantize 1/16, steps of 0.125 s
    moved to 0.25 s, step 3, and still 0.25 s after saving and reloading the project
Accuracy. The drums are this site's own synthesized sounds, not recordings of an acoustic kit, and they make no claim to sound like one. Sequenced hits are placed on the audio clock at exact step times, 0.125 s apart for sixteenths at 120 BPM, but what you play live reaches your speakers after your device's own audio delay: the page shows that delay when the browser reports it, and cannot remove it. Projects save as JSON and export as WAV on your device. The pattern, tempo, velocity and volume are kept in this browser as you work, and nothing you play is uploaded.

Common questions

Which keys play the drums?
Q crash, W ride and E open hat on the top row; A high tom, S low tom and D closed hat in the middle; Z kick, X snare and C clap on the bottom row, the same three-by-three shape as the pads on screen. Holding a key plays its drum once: the key's auto-repeat never retriggers it. You can also tap or click the pads, or focus one and press Enter or Space.
How do I record a beat?
Press Record. The loop starts playing, and every pad you hit is added to the pattern at the moment you played it, read from the audio clock and moved earlier by the output delay the browser reports, so playing along with what you hear lines up. Quantize snaps each hit to the nearest 1/8, 1/16 or 1/32 step, or keeps it where you played it when set to Off. Recording adds to the loop on every pass, and a hit on the same drum at the same spot replaces the one already there. Press Record again to stop recording and keep listening, or Stop to end playback.
Can I edit the pattern without playing it in?
Yes. Each row of the grid is a drum and each square is a sixteenth-note step. Click a square, or move to it with the arrow keys and press Enter or Space, to add a hit or remove one; new hits take the Velocity setting. The loop can be 1, 2 or 4 bars: going longer copies the pattern into the new bars, and going shorter removes what falls past the end, with an Undo to bring it back.
Can I download my beat as audio?
Export WAV renders exactly one loop as a 16-bit mono WAV at 44,100 Hz, so a one-bar loop at 120 BPM is 2 seconds, 88,200 samples and 176,444 bytes. Sounds that ring past the end of the loop are added back at its start, so the file repeats without a gap when you loop it in another program. If the drums together would clip, the whole file is turned down just enough to fit, and the page says by how much. The render happens in your browser, and nothing is uploaded.
How do I save a pattern and come back to it?
The pattern, tempo, velocity and volume are kept in this browser as you work and come back when you return. Save project downloads a small JSON file with the tempo, length, quantize setting and every hit in beats, so Open project brings it back with the same timing on any computer. The Start over button at the top of the page forgets the copy kept in this browser.
Are these real drum recordings?
No. Every drum is synthesized in the page: the kick and toms are pitch-swept sine waves, the snare mixes two tones with filtered noise, the clap is bursts of filtered noise, and the hats and cymbals are six detuned square waves mixed with noise through high-pass filters. They are made to be clear and quick to play, not to sound like an acoustic kit, and no sample files are downloaded.
Why is there a delay between hitting a pad and hearing it?
Every device takes some time to get sound from the browser to the speakers, and Bluetooth headphones add more. The line under the pads shows the delay the browser reports, when it reports one; the page cannot remove it. Hits in the loop are booked on the audio clock ahead of time at their exact step times, so they stay evenly spaced and the delay shifts all of them equally.

The drums are this site's own synthesized sounds, not recordings of an acoustic kit, and they make no claim to sound like one. Sequenced hits are placed on the audio clock at exact step times, 0.125 s apart for sixteenths at 120 BPM, but what you play live reaches your speakers after your device's own audio delay: the page shows that delay when the browser reports it, and cannot remove it. Projects save as JSON and export as WAV on your device.