Manual BPM Tuning: When the Algorithm Gets It Wrong
Even a well-tuned BPM detector misses about 1 in 10 tracks: it might pick the half-time pulse, miss a tempo change in a bridge, or give you a non-integer estimate that drifts. The good news is that almost every failure mode falls into one of four categories, and each has a one-click or one-drag fix. This is a quick reference.
When the algorithm gets it wrong
Symptoms you might see after the first analysis:
- The BPM looks suspicious (e.g., 84 for an upbeat dance track).
- Beat lines are visually offset from the drum hits.
- Beat lines line up at the start but drift apart later.
- One section of the song doesn't match the rest.
Each of these maps to one fix below.
Fix 1: half-time / double-time
Symptom: the detected BPM feels twice as fast or twice as slow as the song. Drum-and-bass at 87 instead of 174 is the classic case; trap reported as 75 BPM is another.
Fix: click the ×½ or ×2 button on the section row. The grid recalculates immediately and the offset is renormalized into the new beat period, so you don't need to touch anything else.
Fix 2: constant offset error
Symptom: beat lines are off by the same small distance everywhere. The spacing looks right, but every line is shifted left or right by, say, 30 ms.
Fix: middle-click drag (or Option + drag on Mac) on the waveform. All beat lines slide together. Move them until they sit on the kick drums, then release. The OFFSET(MS) field on the section updates with the new value.
Fix 3: missed tempo change
Symptom: beat lines align with the drums for the first half of the song but drift in the second half. There's a single point where things start going wrong.
Fix: click + Add Section. A new section appears starting after the previous one. Drag the yellow boundary handle on the waveform to the exact point where the tempo shifts (look for the place where the drift starts). Type in the new BPM. Confirm by listening to the metronome click after the boundary.
Fix 4: integer rounding
Symptom: the detected BPM is something like 119.5 or 127.3, the grid drifts gradually, but no obvious tempo change exists.
Fix: overwrite the BPM with the nearest integer that sounds right. Most produced music uses round numbers: 80, 90, 100, 110, 120, 128, 140, 174. Try the closest one. If the grid still drifts, try ±1 BPM. If it drifts in opposite directions, you have a tempo change in the middle (see Fix 3).
Always verify with the metronome click
After any of these fixes, click the speaker icon on the player and play the song. The click should sit on the beat as if it were a snug hi-hat. If it leads or lags consistently, redo Fix 2. If it only fails in one section, redo Fix 3 or Fix 4 for that section.
Two minutes of manual tuning gets a song that looked broken into a perfectly aligned grid. After that, click Download JSON and you have a beat configuration file ready for any rhythm-game workflow that consumes per-section tempo data.