Rhythm Sight-Reading Trainer
Practice reading and tapping random rhythms with real, measured timing-accuracy feedback.
Result
Reading rhythms accurately is a different skill from reading pitches, and it is much harder to self-check: you can hear whether a note is in tune, but it takes a trained ear (or a stopwatch) to notice that you are consistently coming in ten milliseconds ahead of the beat. This trainer replaces the guesswork with a number. Press New Pattern, and it builds a fresh rhythm at random from quarter notes, eighth notes, sixteenth notes, and rests in the time signature you choose — 4/4, 3/4, or 6/8 — so you are always sight-reading, never recalling a memorized exercise.
The core of the tool is a scheduled click track built with the Web Audio API. When you press Play & Tap Along, a short two-click count-in establishes the tempo, then the pattern plays as a series of clicks exactly on each note's mathematically correct onset time. You tap along on the big button or the spacebar, and every tap is timestamped against the same audio clock that scheduled the clicks — not the browser's general-purpose timer, which can drift by tens of milliseconds under load. That shared clock is what makes the comparison meaningful.
When the pattern finishes, each of your taps is matched to its nearest expected note and scored in milliseconds: positive means you tapped after the beat, negative means before it. The results table shows every note individually, and the summary above it tells you whether your average tendency is to rush (play ahead of the beat) or drag (fall behind it), plus an overall average-error score so you can track whether that number shrinks over repeated attempts.
This is meant to be used the way a drum or ear-training teacher would use a metronome and a stopwatch: generate a pattern, play it slowly enough to read comfortably, tap along, read your numbers, and try again. Because everything runs locally in your browser with no audio upload and no account, you can drill rhythms for as long as you like without any of it leaving your device.