The steps
- Skip the intro. Let the voiceover, the sound effects and any build-up play. The 1 is where the steady beat starts and the choreography starts with it.
- Listen for the strongest hit. In most cheer mixes the 1 of each 8-count carries the biggest drum hit or the start of a new musical phrase. Count 5 6 7 8 out loud until the next strong hit lands on your 1.
- Tap it. In the sheet editor, play the mix and press Tap the 1 now on that hit. The grid snaps your tap to the nearest beat it detected, so a tap a little early or late still lands on the beat.
- Check the speed of the count. Play from 8-count 1 with the click on. If the clicks come twice as fast as you would count, choose Half tempo; if half as fast, choose Double tempo.
- Check the end. Jump to the last section and listen. If the clicks have drifted off the music, the mix changed tempo somewhere: look for rows flagged as drifting and add a tempo anchor there.
How the beat grid is found
Cheersheet reads the mix on your device and measures, every hundredth of a second, how much brighter and louder the sound just got. The peaks of that measure are the onsets: drum hits, claps, the start of a note. It then looks for the steady spacing between onsets, which gives the tempo, and follows the beat through the mix, allowing it to drift slowly so a tempo change is followed rather than fought. Finally it fits the beats into segments of steady tempo, each starting on an 8-count, and counts them from your tapped 1.
The guard for half and double tempo works like this. If the strongest pulse sits outside the expected range for the kind of mix (for cheer, 120 to 170 BPM) and its double or half sits inside, and that alternative still carries at least 33 percent of the strength of the original, the grid moves to it and says so. A tapped tempo overrides all of that.
Worked example: the grid on four test tracks
Worked example. These are synthetic tracks with known beat times, run through the same code as the sheet editor when this page was built, with the 1 tapped 20 ms late:
| Track | Strongest pulse | Grid tempo | Anchors | Mean error |
|---|---|---|---|---|
| Steady 144 BPM, kick on every beat | 144 BPM | 144 BPM | none | 1.3 ms |
| 144 BPM for 8 eights, then 152 BPM | 76 BPM | 144 then 152 BPM (doubled by the guard) | 8-count 9 | 1.3 ms |
| 144 BPM with a half time kick and backbeat | 72 BPM | 144 BPM (doubled by the guard) | none | 0.8 ms |
| 150 BPM, hits spread by up to 8 ms, more noise | 75 BPM | 150 BPM (doubled by the guard) | none | 1.8 ms |
On the half tempo trap the kick drum plays every other beat, so the strongest pulse is 72 BPM. That is below the cheer range, so the guard moves the grid to 144.1 BPM. On the tempo change track the grid proposes an anchor at 8-count 9, where the music speeds up. Real mixes are messier than test tracks: voiceovers, effects and breaks have no steady pulse, which is why the tapped 1 and your ears still decide.
When the grid drifts
After the grid is built, every 8-count is checked against the onsets in the music. A row whose onsets sit, on median, more than 40 ms off the grid beats is flagged on the sheet. That is about the point where a clap on the count sounds early or late to a trained ear. A run of flagged rows usually means the tempo changed: add an anchor at the first flagged row and refit the tempos. A single flagged row in a voiceover or a break is often just a section with no drums.
Common mistakes
- Tapping the first sound of the file instead of the first 1 of the choreography.
- Accepting a count that feels frantic: at 280 BPM nobody is counting, so it is double tempo.
- Moving the whole grid by a beat to fix one late section. Add an anchor instead, so the rows before it stay right.
- Trusting the grid through a voiceover or a stop. Listen through breaks and check the first row after them.
- Forgetting that the 1 can be a quiet beat after a big pickup on the 8.
Load your own mix in the count sheet editor to try it. When the grid is right, the next step is writing the sheet.
Sources
Checked on 27 September 2026. Count sheets have no single governing standard; what is written here is common practice in our own words, and every number in a worked example is computed by Cheersheet's own engine when the page is built. Where your gym, choreographer or ruleset does it differently, follow them.
- Cheersheet's own engine and its tests. Every worked number on these pages (tempos, 8-count lengths, how long a routine takes at a practice speed, what the detector found on the test tracks) is computed by the same code the sheet runs, when the page is built.
- Dixon, S., Onset Detection Revisited, DAFx 2006. Spectral flux, the onset measure the grid is built from: how much brighter and louder each short slice of sound is than the one before.
- Ellis, D. P. W., Beat Tracking by Dynamic Programming, Journal of New Music Research 36(1), 2007. The idea behind following a pulse through a mix: pick beats that sit on strong onsets while keeping the spacing close to the tempo.
- MDN Web Docs, BaseAudioContext: decodeAudioData. How a browser turns an MP3, M4A or WAV file into samples in the page, with no upload. Formats depend on the browser's own decoders.