Skip to content
AbilityBench

24 paced taps, 24 unpaced

Rhythm test — how steady is it once the beat stops?

Tap along with a click, then carry on at the same interval after the click stops. Free, no signup, about half a minute per run at any of four tempos between 75 and 150 BPM. The number reported is the spread of your timing rather than a mark out of ten — the standard deviation of how far each tap sat from its click, which is the one quantity that survives the delay a browser adds to both the sound and the keypress. The unpaced half is where the interesting figure is: the interval you produce with nothing to correct against, its drift, and its variability split into the clock and the finger.

  • 100% free
  • No signup
  • 4 tempos
  • Spread in ms
  • Latency stated, not hidden

4 clicks to count you in, 24 to tap along with, and then silence for 24 more taps that you keep going on your own. Space, or the pad on screen. About 26 seconds.

Hear the click before you commit to a minute of it

Four clicks at the tempo you picked, at the level the run will use. A click has to be short and sharp to be worth timing against — this one is 30 ms of 1200 Hz square wave — so if yours sounds like a thud rather than a tick, the output path is smearing it and every asynchrony below will be wider than it should be.

Tempo

All four are well above the roughly 200 ms interval below which tapping stops being synchronization and becomes a burst, and the spread is reported as a share of the interval so the four are comparable.

Taps per phase

The short run exists to be tried, not to be quoted: a standard deviation from 12 taps carries roughly a fifth of its own value as uncertainty, and the unpaced split below needs the longer one to mean much.

Exactly what is measured

Beat
30 ms of 1200 Hz square wave, every 500 ms
Phases
4 count-in clicks, 24 clicks to tap with, then 24 taps with no click
Matching
each tap goes to the nearest click, not to the next one in line, so one missed tap does not shift every asynchrony after it
Dropped
a tap within 25% of an interval after the last one, a tap during the count-in, and any unpaced interval outside 40%-210% of the target
Reported
the spread of your asynchrony, the average step between consecutive asynchronies, the spread as a share of the interval, the drift after the beat stops, and the two-part split of the unpaced run
Not reported
any judgment of whether you have rhythm. There is no pass mark on this page and no percentile

Nothing is scored during the 4 count-in clicks; tap on any of them and the tap is counted as early and dropped. Space is captured while the run is going so the page does not scroll under you — the stop control on screen stays reachable by pointer.

How to run the tapping and continuation phases

Set a tempo, tap through the paced half, then hold the interval alone.

  1. Check the click is a tick and not a thud

    Four clicks play at your chosen tempo and the level you set. Each one is 30 ms of a 1200 Hz square wave, chosen because a short bright onset is what a finger can be aimed at — a soft or boomy click gives your ear no clear moment to target and widens every figure on the page. If it sounds smeared rather than sharp, the output path is doing that, and it is worth knowing before rather than after. Pick a tempo between 75 and 150 BPM and either 12 or 24 taps per phase.

  2. Tap with the clicks, on Space or the pad

    Four clicks count you in with nothing scored — tap during those and the tap is dropped and counted as early. Then tap once per click for the length you chose. Space is captured while the run is going so the page does not scroll away underneath you, and the pad on screen takes taps too; both are timestamped from the event itself rather than from when the handler ran. Each tap is matched to its nearest click rather than to the next one in the queue, so missing one does not shift everything after it.

  3. Keep going when the clicks stop, then read the two halves

    The metronome ends and you continue at the same interval for the same number of taps. Nothing marks these, and that is the point: with no click to correct against, the intervals you produce are your own. The results panel reports the paced half as a spread, in milliseconds and as a percentage of the interval, and the unpaced half as an average interval against the target, an accumulated drift, and a split of its variability into an internal-clock component and a motor component.

Technical specifications

Beat30 ms of a 1200 Hz square wave, the count-in accented at 1800 Hz. Every click in the run is scheduled up front on the audio hardware clock in one call, not fired from a timer — a browser timer wobbles by tens of milliseconds, which is the same quantity this page measures about you
Tempos400, 500, 667 and 800 ms between beats, which is 150, 120, 90 and 75 BPM. All four sit well above the roughly 200 ms interval below which tapping stops being synchronization, and the spread is also given as a share of the interval so the four are comparable to each other
Phases4 count-in clicks, then 12 or 24 clicks to tap with, then the same number of taps with no click at all. At 120 BPM and 24 taps that is 26 seconds of run
Headline figurethe standard deviation of asynchrony over the matched taps. A constant delay anywhere in the loop — audio output, key travel, USB polling, the tapper's own head start — shifts every asynchrony equally and leaves this untouched
Unpaced splitthe variability of the continuation intervals is split into a timekeeper part and a motor part from the lag-one autocovariance, following Wing & Kristofferson (1973). The split is only computed when that covariance is negative, which is the model's own prediction; when it is not, the page says the model does not apply instead of printing a number
Dropped tapsa tap within 25% of an interval after the previous one is read as a bounced key, a tap during the count-in is early, and any continuation interval outside 40-210% of the target is a missed or doubled tap. Each is counted and named in the result
Latency, statedthe page prints the output latency the browser reports and which of the two clock bridges it got — the published pairing of audio and performance time, or a paired reading plus the reported latency. Neither is exact and the page does not pretend otherwise
What is never reporteda rhythm score, a percentile, a pass mark, and an absolute asynchrony offered as an ability. The first three do not exist for this task in a browser and the fourth is mostly hardware

Frequently asked questions

Why is my average asynchrony negative — am I rushing?

Tapping slightly ahead of the beat is the normal finding, not an error. How far ahead of the click a tapper's finger typically lands is 20-60 ms in the tapping literature, and the effect is smaller in trained musicians rather than absent. The usual explanation is that the brain aligns the sensory consequences of the tap with the click, and a finger's own feedback takes longer to arrive than a sound does, so the movement has to start earlier for the two to coincide. On this page you cannot even read your own value cleanly, because the browser's output delay and your keyboard's input delay are added to it — which is exactly why the number printed large is the spread and not the offset.

Why does the beat stop half way through?

Because the two halves measure different things and the second one is harder to fake. While the click is playing, you are running a correction loop: each asynchrony you notice feeds into the next interval, so a tapper with a poor internal clock can still look tidy by correcting constantly. Take the click away and there is nothing to correct against — the intervals that come out are produced by the internal timing alone, and they drift. The continuation phase has been the standard way of isolating that since the early 1970s, and it is the half that yields the clock-versus-finger split.

My drift says I sped up. Does that mean my internal clock is fast?

Not on its own, and one run cannot tell you. Continuation tapping drifts in both directions across people and across runs by the same person, and the drift over twenty-four taps is small enough that a couple of hesitations dominate it. What is worth doing is running it twice at the same tempo: a drift that reverses sign between runs was noise, and one that comes out the same way twice is at least reproducible on your hardware. There is also a real bias to know about — counting the beats under your breath changes the result, usually tightening it, so two runs are only comparable if you did the same thing in both.

Does tapping on the screen instead of the keyboard change the numbers?

It moves the average and barely touches the spread, which is the whole reason this page leads with the spread. A pointer tap has to travel to a target, so it arrives later than a resting finger's keypress by a fairly constant amount, and a constant is invisible to a standard deviation. What a pointer does add is a little variability of its own from the aiming, so a run taken half on the pad and half on Space comes out slightly wider than either alone. The page counts how many taps arrived each way and says so rather than mixing them silently.

Why not measure my rhythm with a microphone, by clapping?

Because this site opens no microphone, anywhere, and that is a deliberate limit rather than a missing feature. Clapping would also be worse for this measurement, not better: the onset of a clap is a broad acoustic event that a detector has to threshold, and the threshold you choose moves every asynchrony by an amount that depends on how hard the clap was. A key or a pointer produces one timestamped event with no interpretation in between. The trade is real — a key press is a smaller movement than a clap and may be less natural — and the honest version of that trade is this one.

Is 20 ms of spread good?

It is on the tight side of typical for a non-musician at a moderate tempo, but this page deliberately prints no band and no verdict. There are two reasons. The first is that the measurement includes your hardware: a keyboard with a slow scan and an audio path with a large buffer will widen a spread that a different machine would report as narrow, and nothing in a browser can subtract that out. The second is that variability scales with the interval being timed, so 20 ms at 400 ms and 20 ms at 800 ms are not the same performance — which is why the figure is also given as a percentage of the interval, and why the perceptual counterpart quoted beside it is a proportion rather than a number of milliseconds.

Can this tell me whether I have a rhythm impairment or dyspraxia?

No, and it is not built to. Beat-based timing does vary between people to a degree that shows up in research, but the difference between an ordinary poor run and something worth a clinician's attention is not visible in thirty seconds on unknown hardware, and the assessments that do look for it use several tasks and a trained observer. What would move your numbers here far more than any ability does: which hand you used, whether you were counting, whether the click was loud enough to give your ear a sharp target, and how much you had been drinking. Run it twice before you conclude anything at all.

What tapping to a beat measures, and why the offset is worthless while the spread is not

Synchronizing with a beat looks like the simplest thing a person can be asked to do and is one of the more revealing. Two systems are involved and they can be separated. One is a timekeeper that produces intervals; the other is a correction process that watches the error between the tap and the click and adjusts. While a metronome is playing, both are running, and the output is tidier than the timekeeper alone would manage. That is the reason this page has a second phase: when the clicks stop, correction has nothing to work with, and the intervals that keep coming are the timekeeper's. A proportion rather than a fixed number of milliseconds, so the same listener resolves about 25 ms in a half-second gap and about 50 ms in a one-second gap — which is why the spread here is also reported as a share of the interval, and why the auditory processing test reports its own timing figure in milliseconds only: a silence inside a burst is a fixed duration, while an interval between beats is a quantity that scales.

The reason the headline number is a standard deviation deserves stating plainly, because almost every other rhythm page on the web prints the wrong thing. A browser adds two unknown constants to this measurement: the audio output path delays the click after the page has scheduled it, and the input path delays the keypress before the page sees it. Both are tens of milliseconds on ordinary hardware and neither is knowable to the millisecond from inside a tab. On top of them sits a genuine and well-documented human offset — tappers land ahead of the beat, by an amount that shrinks with training. Add all three together and an absolute asynchrony is a number about a laptop. Subtract nothing and take the spread instead, and every one of them cancels: a constant added to every sample moves the mean and leaves the standard deviation exactly where it was. The page still prints the output latency the browser reports, because a floor that is stated can be argued with and a floor that is hidden cannot.

The split of the unpaced half comes from Wing and Kristofferson's 1973 model, which is worth understanding because it is unusually testable for a psychological model. It says a tap happens when an internal interval expires plus a motor delay, and that those two sources of noise are independent. That has a consequence: a motor delay that runs long on one tap shortens the interval ending at it and lengthens the next one, so consecutive intervals should be negatively correlated — and nothing at longer lags should be. The model therefore predicts the shape of its own evidence, and the lag-one autocovariance it predicts is minus the motor variance, with whatever remains belonging to the clock. When that covariance comes out positive, the model has failed for that run rather than returned a big number, and this page says so instead of taking a square root of a negative variance. A steadily drifting run is the usual reason. Timing an ability is separable from hearing one: the tone deaf test leaves rhythm out entirely because the work that documented impaired melodic pitch found timing intact in the same listeners, and the relative pitch test with interval ear training work the pitch side of the same skill set. If it is sustained attention rather than timing that keeps slipping, the Stroop test measures the control that a long unpaced run also quietly demands.

Negative mean asynchrony

How far ahead of the click a tapper's finger typically lands: 20-60 ms.

Repp (2005), Sensorimotor synchronization: a review of the tapping literature, Psychonomic Bulletin & Review

Tapping ahead of the beat is the normal finding rather than a mistake, and the amount depends on the tempo, the sound and how much musical training the tapper has — musicians tap closer to the click. It also cannot be separated from the delays a browser adds, so the figure is here to explain why an average offset is not scored on this page, not as something to compare yourself against.

Interval discrimination threshold

Smallest detectable change in a time interval, as a share of the interval: 5-10%.

Grondin (2010), Timing and time perception: a review of recent behavioral and neuroscience findings

A proportion rather than a fixed number of milliseconds, so the same listener resolves about 25 ms in a half-second gap and about 50 ms in a one-second gap. Auditory intervals are discriminated more finely than visual ones, which is why a rhythm test should be heard rather than watched, and the browser's own audio scheduling jitter has to be smaller than the difference being tested or the test is measuring the platform.

This is a measurement exercise, not a clinical assessment. It reports what you did on this page against a stated reference and nothing more — it cannot establish a timing or movement disorder. Only a qualified professional, working with more than a browser, can make that judgment.

Every figure on this page is a description of one run on one machine, and the machine is inside the number. A slow keyboard scan, a large audio buffer or a click too quiet to give the ear a sharp target will each widen a spread that different hardware would call narrow, and no browser can subtract that out. The comparison worth making is between two of your own runs, taken the same way.

Where the clicks and the timestamps live

Every number on this page is worked out by JavaScript running in the tab you are reading it in. Your answers, your reaction times and your score are never uploaded, logged or kept — which is also why the test carries on working after you disconnect from the network, and why nothing here can be held back behind an email address.

No microphone is opened for this — every tap is a key or pointer event with the timestamp the browser attached to it, and every click is an oscillator in this tab rather than an audio file. The list of tap times is held in the page while you are reading the result and is gone when you reload, which is also why the copy button exists: it is the only way a figure from this page leaves it.