How to Follow a Drummer - DrumMate blog
DRUMMATE
How to Follow a Drummer
Teaching machines the musicianly thing
By Sashyo · July 2026 · DrumMate blog
Almost every electronic music setup makes the human follow the machine. The click is the boss. The sequencer is the boss. The DAW timeline is the boss. Speed up into a chorus and the machine does not care; it just keeps going, and now you are wrong.
I spent the last while building the opposite: a system where the drummer is the boss and everything else follows - tempo, dynamics, feel, fills, endings. It started as an Android app built with a drummer I met online, but the core problem is platform-agnostic and it turned out to be much more interesting than I expected. This post is the writeup, including everything I got wrong.
Hits are not a clock
The first idea everyone has (including me): take the kick drum, turn each hit into a pulse, feed that to your clock input. Done, right?
A real kick pattern is not a clock. Play anything with syncopation and the pulses land on offbeats. Play a fill and you fire six pulses in half a beat. Play a section where the kick lays out for a bar and your clock stops dead. A drummer playing a perfectly steady tempo still produces wildly uneven hit intervals, because the hits are music, not a metronome.
Tap-tempo boxes have the same problem one layer up: most of them just average recent intervals, so one fill yanks the tempo around. And resetting your sequencer's phase on every kick - another popular idea - believes every kick is beat one, which is perfect right up until the drummer syncopates and your whole rig snaps to the wrong downbeat mid-groove.
A hit should be treated as evidence, not as a command. Following a drummer, not obeying one.
Division is free, multiplication is prediction
Here is an asymmetry that took me embarrassingly long to see. Clock division is causal: every incoming pulse just advances a counter, tempo never needs to exist, and it works at any speed. This is why a modular clock divider fed from a drum trigger feels bulletproof.
Multiplication is different. To fire the second 16th note between two hits, you need an opinion about when the next hit will land. Anything that ratchets, arpeggiates, or runs a synced delay is secretly carrying a tempo model. The cheap ones assume a BPM floor and fall apart below it. The honest ones have to solve the actual problem:
Given the hits so far, where is the grid?
The estimation layer
What worked for me is a free-running clock that is steered by the playing rather than driven by it. A software phase-locked loop with a beat-aware front end:
Hits arrive as timestamped onsets.
The tracker fits them against a grid hypothesis: a period (tempo) and a phase (where beat one is), with the downbeat inferred from accent patterns across kick and snare.
Each onset that agrees with the hypothesis nudges the clock proportionally. Onsets that disagree - fills, syncopation, ornaments - are mostly ignored. Confidence builds when hits keep landing where the clock predicted, and decays when they do not.
The clock never jumps. It bends. Tempo changes get smeared over about a bar, so everything downstream glides instead of lurching.
The tightrope is sensitivity. If the clock chases every hit, it eats the groove: the drummer's pocket - those deliberate, beautiful deviations - becomes tempo wobble. If it is too stiff, it misses a real push into a chorus. The rule that works: small deviations are feel, sustained drift is tempo. Lean on it for a bar and it comes with you. It will not flinch at one laid-back snare.
Worth noting what this is not: it is not the beat detection in DJ software. Traktor and Rekordbox get the whole track up front and can look ahead, run a second pass, fix mistakes. A live tracker only ever has the hits that already happened, and it has to commit in real time. No lookahead, no undo.
The bug that taught me the most
My worst version of this worked beautifully in testing and fell apart with a real drummer. The tracker would lock, the band would come in, and then - the moment the drummer did anything interesting - confidence would dip, the lock would flicker, and the band would vanish. Play, band starts, band stops, repeat. It felt broken in the most demoralizing way possible.
The fix was coasting : when confidence wobbles but hits are still arriving, the clock keeps running on its last good estimate and waits. It only actually stops on real silence. Obvious in hindsight. A human bandmate does exactly this: when the drummer gets weird for two bars, you do not stop playing, you hold your groove and listen harder.
If you are building any version of this - hardware or software - I suspect coasting is not optional. A follower that gives up during the interesting parts is worse than no follower at all.
Prediction, not reaction
One more architectural point that matters more than it looks: the system schedules ahead. Notes are placed against the clock's...