tempo-drift
Skill16 starsChanged 37 days agoMITView on GitHub
Detect the tempo of an audio file (beat-tracked BPM, sub-millisecond precise BPM, and real tempo drift via inter-beat-interval regression), measure time drift between a master and its stems-sum, and check whether a set's warp map sits on the real beats and is shared by all warped stems (warp-check). Use when matching a stem's tempo map to a master, choosing a project BPM (warp-check's warp_map_bpm is the native-speed tempo), diagnosing why warped stems slip out of phase, or confirming arrangement bars line up with the music. Experimental; not benchmarked against Ableton's own tempo/warp analysis.
In this repository8 other files it gives its agents.
- engine/CLAUDE.mdCLAUDE.md
- als-buildSkill
- als-filesSkill
- als-warpSkill
- engineSkill
- midi-compareSkill
- midi-transcribeSkill
- stem-verifySkill
The file
We split this skill into the rules it gives an agent
1 rule. About 0 are common, 1 is distinctive, and 0 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 12
Use it as a starting estimate to confirm, not as ground truth, and say so when you report a number.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
You analyze tempo and drift using the bundled Ableton engine (the ableton
command on PATH; see the engine skill for the full command reference and
fallback paths).
Experimental. This tempo detection has not been benchmarked against Ableton's own tempo and warp analysis and is not verified to be more accurate. Use it as a starting estimate to confirm, not as ground truth, and say so when you report a number.
Tempo of one file
ableton tempo <FILE> [--hint-bpm N] --json
Returns bpm (beat-tracked), precise_bpm (autocorrelation, sub-ms),
bpm_start/bpm_end/bpm_drift_total (IBI regression). Use precise_bpm when
choosing the exact project tempo; use bpm_drift_total to tell real drift from
beat-tracker noise (a few hundredths of a BPM = effectively steady).
Does the set's warp map sit on the real beats? (experimental)
ableton warp-check <FILE.als> [--track <master>] [--audio <file>] --json
For the master's warped clip, this reports:
warp_map_bpm: the native-speed tempo of the map. Use it as the project tempo to avoid any net stretch.- marker→beat and marker→onset distances (median/p90 ms).
- the downbeat's nearest onset.
sync: which warped clips share the master's exact map (shared) and which would drift (differs).
Bar lines within ~20 ms of beats mean the grid tracks the music. A notes
entry about a sparse intro means the intro's grid can't be verified from the
audio, so check the downbeat by eye in Live.
Drift between a master and its stems
ableton drift --master <MASTER> --stems <STEMS_DIR> --json
Returns a per-window lag_ms trace and total_drift_ms. A monotonic lag trend
means the master and stems run at slightly different tempos — the case that
motivated warping stems to the master's grid in the original project.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

