agentleFS
madisonrickertmadisonrickert/ableton-tools/skills/tempo-drift/SKILL.md

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.

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
  1. Distinctive:

    Use it as a starting estimate to confirm, not as ground truth, and say so when you report a number.

    line 12

≈ “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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

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.

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.