1Input groove
Rows = drum voices, columns = 16th-note steps. Use X = hit,
o = ghost note, - or a space = rest.
Rows = drum voices, columns = 16th-note steps. Use X = hit,
o = ghost note, - or a space = rest.
Drummers have shared grooves in chat with hand-rolled ASCII notation for decades —
rows of X and o pasted into a
monospace font, where vertical alignment is the score. Meanwhile, musicians
everywhere borrow techniques from other instruments: a guitarist "transposes" a melody,
a composer writes a melody backwards (retrograde). But no small tool existed that treats
a rhythm pattern as data you can run through the same transformations — flip it, reverse
it, stretch it, or listen to what a mellophone pitch line sounds like when played
by a snare drum. Metamorph Groove is that laboratory: a tiny, fast, honest sandbox for
"what if I turned this groove inside out?"
A pocket transformation studio for 16-step drum patterns. Paste or draw a groove (multiple voices — kick, snare, hat, toms, shaker — any names you like), hear it instantly, then apply a chain of operations: reverse the whole pattern, rotate it (a half-step left, the classic "push it behind the beat" trick), invert it (the negative space becomes the groove), stretch or compress it, mirror the first and second half, pitch-shift every note an octave down for a low-end bounce, or run mello — the signature move — which takes the vertical pitch outline of the pattern and plays it on a single snare, turning a melodic contour into a ghost-note texture. Every result is one tap away as clean ASCII you can paste back into any chat, Discord, or drum tab file.
A groove is parsed into a matrix of 0 (rest), 1 (ghost) and 2 (full hit) per
voice × step. Every transformation is a pure function on that matrix — no audio is
involved until playback, so you can chain as many operations as you like in zero time.
Reverse mirrors columns; rotate is a modular shift
(step i → (i + n) mod 16); invert flips
0↔2 (rests become hits, hits become rests) while ghost notes fade out;
stretch/compress resamples the 16-column matrix to 8 or 32 steps;
mirror copies the first half over the second (or vice-versa);
pitch-shift halves or doubles the row count per voice by shifting
the contour down an octave. Mello computes, for each step, the
"pitch" of the pattern (the highest active voice row, inverted so higher sounds
higher) and emits a single-voice row where that height becomes a 1–7 velocity
gradient of snare hits — a melodic line reborn as rhythmic ghost notes.
Playback uses the Web Audio API: each voice gets a small synthesized
drum (sine-sweep kick, filtered-noise snare and hat, band-passed tom), scheduled
sample-accurately with a 25 ms lookahead timer for rock-solid timing.
X is a full hit, o a softer ghost note.