Clicks That Land on the Music: Beat Sync Explained

• Run Tempo Team
featuretutorial

Run Tempo lays a metronome over your own music so your feet have something to follow. The only question that really matters is where those clicks go.

Until now they went on an even grid. At a 170 BPM target, that means one click every 353 milliseconds, the first one at the very start of the file. The arithmetic is perfect and the musicianship is terrible. Almost no song begins exactly on beat one at 0.000 seconds, and almost no recording holds a single tempo for four minutes. A second and a half of intro is enough to drop every click into the gap between the song's beats — and then you are listening to two rhythms argue instead of one rhythm you can run to.

Beat sync fixes this. The app now listens to the song first, works out where the beats actually fall, and puts the clicks on them.

What happens when you press play

  1. It finds the beat. The track is analysed right there in your browser — not just an average BPM, but the position of every individual beat.
  2. It picks a multiple. Clicking once per beat is only one of the options. The app can also click twice per beat, every other beat, or three times every two beats.
  3. It adjusts the tempo, gently. If a small speed change closes the remaining gap, the song is stretched by up to 8%. Pitch is preserved, so nobody sounds like a chipmunk.

The clicks then go on the beats themselves. On our test tracks, with beat positions known exactly, they land within one or two milliseconds of the real thing.

The one idea worth understanding: beat multiples

This is the part that saves your music.

Suppose you want 170 steps a minute and your song runs at 85 BPM. The obvious move is to drag the song up to 170 — doubling its speed, which would ruin it. But 85 doubled already is 170. So the app leaves the recording completely untouched and simply claps twice per beat. You get an exact 170 click over an unmodified song.

Here is roughly what to expect at a 170 target:

Song tempoWhat the app doesClick you hear
85twice per beat, no stretching at all170.0
174every beat, song 2.3% slower170.0
1203 clicks per 2 beats, song 5.3% slower170.0
1283 clicks per 2 beats, 8% slower — the limit176.8

The app always prefers whichever option disturbs your music least. Stretching is a last resort, never the first move.

Tutorial: beat sync in six steps

1. Load a song

Drag an MP3, WAV or M4A onto the upload box — up to five files at a time, 50MB each — or press Try Sample Music if you just want to see how this works.

2. Set your cadence

Use the BPM slider. It starts at 170, which suits most runners; the useful range for running is roughly 160 to 180.

Don't know your own number? Count how many times your right foot lands in thirty seconds and multiply by four. That is close enough to start from, and you can adjust by feel on the run.

3. Press "Play With BPM"

This is the moment the song gets analysed, and it is also the moment to be patient — you will see the Beat sync panel count through Finding onsets, Estimating tempo and Tracking beats. It takes a few seconds the first time. The result is cached, so the same song is instant afterwards.

You then hear a ten-second audition: your music, with the click on its beats.

4. Read the four numbers

The Beat sync panel tells you exactly what was decided:

  • Song tempo — what the app heard in your track.
  • Ratio — the multiple it chose, with a plain-language hint like every half-beat.
  • Stretch — how much your music was sped up or slowed down. "none" is the best possible outcome.
  • Click — the cadence you are actually getting.

Above them, a green line reading Clicks are locked to this song's own beats confirms the clicks came from the music rather than from a stopwatch.

5. Fine-tune with Nudge, if you want to

Some people like the click a fraction ahead of the beat; Bluetooth headphones add a delay of their own. The Nudge slider shifts every click up to 250ms earlier or later, and it works while you are listening, so you can tune it against the music instead of guessing. Volume is live too, up to 500% if your track is loud.

A BPM change that alters the stretch needs new audio, so press play again to hear that one.

6. Download

Download gives you one MP3 per track. Merge to One and Download gives you a single continuous file — handy for a watch or an older player.

When your song is too far away

Some tracks simply cannot reach your cadence. A 128 BPM song at a 170 target is the classic case: the nearest multiple is 192, and 8% of stretching only brings it down to 176.8.

Rather than quietly handing you the wrong tempo, the app says so — This song is far from your cadence — and offers you a choice:

Snap to the song instead. Leave the music entirely alone and click on its own natural cadence. You run slightly faster or slower than planned, but the song is untouched and the click is perfectly in time with it.

Or ignore the offer and keep your target. One button puts you back either way. Which is better depends on the run, and that is your call, not the app's.

When no beat can be found

Beat sync needs something to lock onto. Ambient music, spoken-word podcasts and very loosely played live recordings may not give it enough. In that case the panel tells you plainly — No steady beat found — clicking on an even grid instead — and falls back to the old behaviour. You still get a usable metronome; you just don't get beat alignment, because there was no steady beat to align to.


Still entirely private

Worth repeating, because beat detection sounds like something that needs a server: it isn't. The analysis, the stretching and the MP3 encoding all run inside your browser tab. Your music never leaves your device, and there is nothing to sign up for.

Ready to try it? Load a track, press Play With BPM, and watch the click settle onto the beat.