A 16-step drum machine with three melodic tracks that runs entirely in your browser. Everything is synthesized with the Web Audio API, so there are no sample files to load.
Pick a preset, from rock, disco and hip-hop to bossa nova and son clave, and press Play. Each preset loads the drum set it was written for (see Drum sets below); the Drum set menu next to Clear swaps the set under whatever pattern you have, since the rows play the same roles in both. Click a cell to cycle its strength: off, quiet (light blue), normal (blue), loud (orange), and back to off. Each channel's drop-down lets you swap in any drum, and the channels a preset doesn't use stay free for layering.
Every row also has a Euclidean rhythm generator. Hits are spread as evenly as possible over Steps, and Rotate shifts the start. The circle shows the row as it really is (step 1 at the top, going clockwise, with the hits joined into a shape), so it follows your hand edits too. Rows can have different lengths, so they drift against each other.
Many presets include optional layers that start muted: for example a clap doubling the snare, a tambourine, a crash on the first beat, or bongos over a clave. A muted row is dimmed, so it is easy to see which ones they are; press its M button to bring a layer in, or mute a regular row to hear the groove without it. While the music plays, M waits for the row's next cycle, like 1×: the button changes at once and blinks until the change happens (click again to cancel). It's an easy way to try out arrangements. The 1× button next to M plays a channel exactly once, from the start of its next cycle, and then mutes it again: set a spare channel to a fill, leave it muted, and fire it whenever you like.
The tabs above the grid switch between Bass, Chords, Lead and Drums, and all four play together. A dot on a tab means it holds something. In a melodic tab each row is one note, and its drop-down picks which (C major to start with; choose any notes to work in another scale). A cell is a note, and clicking it cycles its length: off, short, medium, long. Cells in one column sound together, so a chord is a column. M, 1× and the slider at the right of the first row mute, play once and level the track, and the Steps field below them sets its length (1× works like on a drum row: the track plays one bar from the start of the next bar and then mutes itself, handy for a fill or a lead line you want to drop in once). Clear empties only the tab you are on. Next to Clear, a Sound menu picks the instrument for the track, the melodic counterpart of the drum set: four sounds each (Saw, Square, Sub and Pluck bass; Saw Pad, Organ, Soft Pad and Stab chords; Square + Saw, Square, Saw and Triangle leads), and the notes stay the same.
The Preset menu follows the tab: on Drums it lists the drum presets, and on Bass, Chords and Lead it lists that track's presets (bass lines, chord progressions and lead runs), so loading one never touches the other tabs. They are written in C major or A minor, the same notes, so any combination fits together. Most are 16 steps. A few are 32 steps, two bars, such as the slow chord progressions. The ones marked 12 steps are for the 12-step drum presets: Waltz is 3/4, and Blues Shuffle and Jazz Swing are a triplet grid, where a 16-step line would not line up. A melodic track can be longer than the 16 columns on screen: set Steps above 16 (up to 64, four bars) and a Bank switch (one button per 16 steps) appears at the right of the tabs. While the music plays the shown bank follows the playhead, switching back and forth; turn Follow off to stay on one bank and edit it, and a yellow mark under a bank button shows where the playhead is. A longer track plays against the 16-step drum loop, one drum bar per 16 steps, so a 64-step track covers four drum bars per round. Setting Steps to 12 or 8 works the same way as on a drum row.
Below the grid, Drum settings lets you tune each drum's pitch, decay, tone and level. If a MIDI drum module or synth is connected, choose it as the output and the drums play on that instead (General MIDI percussion, channel 10). The melodic tracks always use the built-in synth.
Fine-tune each drum. Settings belong to the drum, so they follow it to whichever channel you assign it to. Tune, Decay and Tone shape the built-in synth; Level also scales the velocity sent to a MIDI device. The MIDI note is what a connected device plays for the drum: each drum starts on its General MIDI percussion note (the instrument's name is shown next to the field), and you can type any other note to match your own synth's kit. Your settings are remembered in this browser.
Choosing a preset loads the drum set it was written for, and the Drum set menu next to Clear swaps the set under the current pattern. Each set has eight channels, listed here from row 1 at the top, and a row plays a similar role in every set. A preset uses only some of them, and the rest stay free for layering.