90bpm
i Before you play
  1. Allow the microphone when the browser asks. (Testing locally? Serve the page over localhost — browsers block the mic outright on file://.)
  2. Pick your source: Taps or Sax.
  3. Hit Calibrate and tap exactly on the 8 clicks. This measures the delay through your mic and sound card, then subtracts it from every take. Skip it and everything reads as late.
  4. Once is enough — but calibrate again if you change source (a sax attack is slower than a clap) or swap microphones.
While you play
  1. Listen to me, then Play. The written notes go silent, the click stays.
  2. The dot flashes on every attack: green means you were in the pocket.
  3. Each time round the loop the noteheads get coloured and the summary appears: bias is how late you run on average, steadiness is your spread.
Nothing detected? Raise the sensitivity, move closer to the mic, and watch the level bar — it should move when you play.
latency 0 ms on time early late missed