Putting section cues on the beat with StemLab and DanceMoves

Illustration of drumsticks above a drumhead crossed by glowing ripples and small lanterns.

I’ve extended StemLab’s timing workflow so that full-track analysis can produce section cues for DanceMoves, with one important rule: a cue only moves onto a detected beat when the beat is genuinely nearby.

That sounds like a small detail, but it makes a real difference. A section marker can be structurally sensible and still land a fraction before or after the musical pulse. When that marker drives an EPK effect, the visual response feels slightly detached from the track.

For cue sheets that already existed, the new matcher checks the surrounding beat evidence and allows a maximum adjustment of 150 milliseconds. It never forces a distant match. Openings at zero stay at zero when there is no suitable nearby beat, and every machine-assisted change remains visible in the review report.

For forthcoming releases without cue sheets, StemLab now takes the longer route: source separation, speech and lyric evidence where available, functional section analysis, and several independent beat detectors. The generated LRC keeps the model’s section labels and records which boundaries were already exact, which were snapped, and which still need review.

Beat This was the missing part of that detector set. The code was present, but its official checkpoint was not available locally. I repaired the dependency path, pinned the official model file in StemLab’s project cache, verified its hash, and ran it against a real track before using it in the catalogue pass.

StemLab timeline showing a master waveform, two structural section lanes and several beat-detection lanes aligned to one song clock
The actual StemLab timeline keeps the master waveform, functional sections and independent beat evidence aligned to one clock.

The full profile also exposed a useful hardware boundary. One optional separator, MVSep Mega53, documents a 16 GB VRAM requirement, while the current project GPU has about 8 GB. StemLab now records that model as unavailable before inference instead of provoking a predictable crash, then continues with the other eligible backends. That is more honest than quietly dropping the model or pretending the result exists.

StemLab timeline scrolled into colourful spectrogram lanes for separated stems, all aligned to the same song clock
Scrolling deeper into the same timeline reveals the separated-stem spectrograms without losing their shared musical alignment.

The WordPress side is deliberately simple. Each release page already has an EPK Timing panel for BPM, lyric timing, cue timing and its chosen ambient effect. The new cue file is selected there without changing the page’s BPM. DanceMoves can then use the file on that release only, while its repeating musical effects remain confined to their declared visual subjects rather than flashing or tinting the whole page.

The catalogue pass covers 17 upcoming EPKs: four existing cue sheets were aligned conservatively and thirteen releases received new provisional cue sets from full analysis. All 17 cue settings now persist in WordPress, and every rendered EPK reports the exact selected cue file with its timing catalogue ready. Existing BPM properties were left alone throughout, including pages that deliberately use DanceMoves’ labelled fallback.

These are still analysis-assisted boundaries, not a substitute for listening. The useful change is that the machine work is now reproducible, reviewable and connected to the page that will actually use it.

Putting section cues on the beat with StemLab and DanceMoves
Putting section cues on the beat with StemLab and DanceMoves

Posted

in

by

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *