Analyse a local audio file into a versioned music map (<stemmap.json, schema music-map/1): tempo from the downbeat grid, 1-based bars, key, band levels, classed sections, drop candidates, optional…

MITAuto-check passed

Install Music Analysis

skills CLI
$ npx skills add BlackBeltTechnology/pi-agent-dashboard --skill music-analysis -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install BlackBeltTechnology/pi-agent-dashboard music-analysis --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/BlackBeltTechnology/pi-agent-dashboard.git skills-src && mkdir -p .claude/skills && cp -r skills-src/packages/music-production/.pi/skills/music-analysis .claude/skills/music-analysis && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
music-analysis
GitHub stars
315
Token cost
~1.4k tokens
SKILL.md length
573 words
Files
3 (incl. scripts)
Skills in repo
70
Repo updated
First seen
Licence
MIT

At a glance

Analyse a local audio file into a versioned music map (<stemmap.json, schema music-map/1): tempo from the downbeat grid, 1-based bars, key, band levels, classed sections, drop candidates, optional…

  • Works in 4 steps: Python environment (once per project) → Source the audio (no-rip rule) → Quick tier → …
  • SKILL.md covers Step 0 — Python environment…, Step 1 — Source the audio…, Step 2 — Quick tier and Step 3 — Deep tier (optional), plus 3 more sections
  • Runs Python scripts from its folder; calls uv, ffmpeg and python

What it does

Music Analysis is an agent skill from BlackBeltTechnology/pi-agent-dashboard. Analyse a local audio file into a versioned music map (<stemmap.json, schema music-map/1): tempo from the downbeat grid, 1-based bars, key, band levels, classed sections, drop candidates, optional stems and style tags. Use on "analyse this track", "what BPM / where is the drop", "map the song for editing", or before cutting music or syncing video to it.

Its SKILL.md is about 1.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files, including scripts (for example `scripts/analyze_mir.py` and `scripts/analyze_music.py`).

The repository describes itself as: Real-time web dashboard for pi coding-agent sessions. Multi-session view, live chat mirroring, integrated terminal, diff viewer, pi-flows execution, and mobile-first remote… The licence is MIT.

Example prompts

  • “analyse this track”
  • “what BPM / where is the drop”
  • “map the song for editing”
  • “/music-analysis”

Requirements

  • Python 3

Workflow steps

4 steps, taken from the step headings in SKILL.md.

  1. Python environment (once per project)
  2. Source the audio (no-rip rule)
  3. Quick tier
  4. Deep tier (optional)

What it can do on your machine

Read from SKILL.md and the folder at commit 7a2d171. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 2 files in scripts/ (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • uv
    • ffmpeg
    • python
    • jq

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use uv, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Music Analysis loads about 1.4k tokens when it runs. Until then it costs about 93 tokens; SKILL.md has 573 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~93
When it runs · the whole SKILL.md, loaded when a task matches
~1.4k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from BlackBeltTechnology/pi-agent-dashboard at commit 7a2d171, republished under its MIT licence (© BlackBeltTechnology). 573 words, ~1,373 tokens.

Download SKILL.mdSave it as .claude/skills/music-analysis/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.
name
music-analysis
description
Analyse a local audio file into a versioned music map (<stem>_map.json, schema music-map/1): tempo from the downbeat grid, 1-based bars, key, band levels, classed sections, drop candidates, optional stems and style tags. Use on "analyse this track", "what BPM / where is the drop", "map the song for editing", or before cutting music or syncing video to it.

music-analysis

Turns a local audio file into <stem>_map.json + <stem>_analysis.png. The map is the input of music-edit-to-length and beat-sync-video.

Step 0 — Python environment (once per project)

The scripts never install anything. Resolve the package root first: PKG=<this skill dir>/../../.. (it holds lib/ and the requirements files).

bash
# quick tier (librosa) — enough for everything except beat_this / stems / tags
uv venv -p python3.14 .venv-music
uv pip install --python .venv-music -r "$PKG/requirements-core.txt"

# deep tier — optional, multi-GB (torch, TensorFlow). Keep it in its OWN venv.
uv venv -p python3.14 .venv-mir
uv pip install --python .venv-mir -r "$PKG/requirements-mir.txt"

Verified platform: Python 3.14 on macOS arm64; every requirement is pinned exactly. A missing module makes a script exit 2 with one line naming the requirements file.

Step 1 — Source the audio (no-rip rule)

Analyse only a local file the user supplies. Never download or extract audio from a streaming service, and never suggest a tool that does. Acceptable sources:

  • a purchased file (lossless or high-bitrate);
  • a file from the artist, label or composer (stems welcome);
  • the user's own recording of a session they are allowed to use.

From a video recording, extract the audio and check its level:

bash
ffmpeg -i recording.mkv -vn -ac 2 -ar 44100 -c:a pcm_s16le track_rec.wav
ffmpeg -i track_rec.wav -af volumedetect -f null - 2>&1 | grep -E "max_volume|mean_volume"

Quiet recordings: when max_volume is below −12 dBFS, gain the source up so it peaks at about −2 dBFS before analysis (e.g. a −21.9 dB peak → -af volume=19.9dB), and note the applied gain next to the file (README row or filename) so the mix stage knows the source was lifted.

Step 2 — Quick tier

bash
.venv-music/bin/python "$PKG/.pi/skills/music-analysis/scripts/analyze_music.py" track.wav [--out-dir music/]

Step 3 — Deep tier (optional)

bash
.venv-mir/bin/python "$PKG/.pi/skills/music-analysis/scripts/analyze_mir.py" track.wav [--map music/track_map.json] [--no-tags] [--no-stems]

Enriches the same map: the beat_this downbeat grid replaces cut_grid (source: "beat_this") and every bar-indexed field is re-derived against it; essentia tempo + 3-profile key vote; tags {genre, instrument, mood}; demucs htdemucs_6s stems under stems/ with energy_share and per-bar RMS, which sharpen section classes and drop confidence. With stems, drops[] is recomputed on the new grid (drum re-entry added to the confidence), so drop times move to beat_this downbeats.

Model licences. The tag classifiers (Discogs-EffNet, MTG) are CC BY-NC-SA 4.0 — non-commercial. They are fetched on first use from a fixed URL table, sha256-verified (200 MB cap per file) into ${XDG_CACHE_HOME:-~/.cache}/pi-music-production/models/, and never redistributed. For a commercial deliverable, use the quick tier plus stems without tags: analyze_mir.py --no-tags.

Third-party weight caches (fetched by those libraries, not hash-pinned by this skill): demucs and beat_this download their checkpoints into the torch hub cache, ${TORCH_HOME:-~/.cache/torch}/hub/checkpoints/ (beat_this-final0.ckpt, htdemucs). Delete any of these caches to reclaim space; they refill on the next deep run.

Show full SKILL.md (213 more words)Show less

The map contract — music-map/1 (source time)

FieldMeaning
schema"music-map/1"; consumers reject another major version
sourceanalysed audio, relative to the map file
duration, srseconds, sample rate
tempo {bpm, stable_span{start_bar,end_bar}, methods{}}bpm = 60·meter·(k−1)/(t_k−t_1) over the stable span (longest run of downbeat intervals within ±5 % of their median); per-method estimates only under methods
cut_grid {source, meter, downbeats[]}the single authoritative grid; bar n starts at downbeats[n-1]
beats[], key {label, strength}, band_level_db_rel {sub,bass,low_mid,high_mid,air}
sections[] {start,end,start_bar,end_bar,rms_db,bass_db,class}end_bar is exclusive; class ∈ intro groove breakdown build drop outro (advisory)
drops[] {time, bar, confidence}candidates sorted by confidence; a start whose 30–150 Hz gain is not sustained over the next 2 bars scores < 0.5
stems {dir, energy_share{}, bar_rms_db{}}deep tier only; dir relative to the map

All times are seconds, 3 decimals. Paths are relative, so a project folder can move.

Rules

  • Confirm the drop by ear (or by the drums/bass stem re-entering) before using it as an edit anchor. A loud breakdown start is the classic false positive.
  • Trust tempo.bpm, not a method's median inter-beat value (frame-quantized, can be off by 2+ BPM).
  • A track with fewer than 8 downbeats is rejected ("too short or arrhythmic").

Verification

  • Open <stem>_analysis.png: section spans, classes, downbeat lines and drop candidates should match what you hear.
  • jq '.tempo, .cut_grid.meter, .drops[:3]' <stem>_map.json.

© BlackBeltTechnology, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 2 other files (scripts) in packages/music-production/.pi/skills/music-analysis of BlackBeltTechnology/pi-agent-dashboard.

  • SKILL.md
  • scripts/analyze_mir.py
  • scripts/analyze_music.py

Open the folder on GitHubat commit 7a2d171

Compare with similar skills

Music Analysis next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Music Analysis compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Music Analysis this skillBlackBeltTechnology/pi-agent-dashboard315—~1.4kAutomated safety check: PassMIT
Venice Audio Musicnexu-io/open-design100k—~297Automated safety check: PassApache-2.0
HyperFrames Audioheygen-com/hyperframes60k1 repos~6.5kAutomated safety check: PassApache-2.0
Music to Videoheygen-com/hyperframes60k3 repos~4.7kAutomated safety check: NotesApache-2.0
MiniMax Music Generationbytedance/deer-flow84k—~717Automated safety check: PassMIT
AI Music Albumnexu-io/open-design100k—~328Automated safety check: PassApache-2.0

Similar skills

  • Venice Audio Music

    nexu-io/open-design

    Music generation queueing, retrieval, and completion endpoints via Venice.ai.

    100k GitHub stars~297 tokensUpdated yesterday
    Media & CreativeAuto-check passed
  • HyperFrames Audio

    heygen-com/hyperframes

    Mixes audio already placed in a HyperFrames composition: fades, gain, ducking under a voiceover, effect chains, automation and shared submix buses.

    60k GitHub starsUsed in 1 repo~6.5k tokens
    Media & CreativeAuto-check passed
  • Music to Video

    heygen-com/hyperframes

    Turns a music track into a beat-synced HyperFrames video such as a lyric video, slideshow or kinetic promo, with any supplied images or clips cut onto the beat grid.

    60k GitHub starsUsed in 3 repos~4.7k tokens
    Media & CreativeAuto-check: notes
  • MiniMax Music Generation

    bytedance/deer-flow

    Generates songs, jingles or instrumental tracks as MP3 files from a style prompt and optional lyrics through the MiniMax music API.

    84k GitHub stars~717 tokensUpdated today
    Media & CreativeAuto-check passed
  • AI Music Album

    nexu-io/open-design

    Full-lifecycle AI music album production — concept, lyric drafting, track sequencing, and export.

    100k GitHub stars~328 tokensUpdated yesterday
    Media & CreativeAuto-check passed
  • Music Generation Studio

    sickn33/agentic-awesome-skills

    Install and use the official AI Music Generator package, pinned by digest, for paid hosted work on the Beatra service.

    47k GitHub starsUsed in 1 repo~3.1k tokens
    Media & CreativeAuto-check passed

More from BlackBeltTechnology/pi-agent-dashboard

All 70 skills in this repo
  • Browser

    BlackBeltTechnology/pi-agent-dashboard

    Browser automation via the agent-browser CLI. An agent skill from BlackBeltTechnology/pi-agent-dashboard.

    316 GitHub stars~2k tokensUpdated today
    Auto-check passed
  • CI Troubleshoot

    BlackBeltTechnology/pi-agent-dashboard

    Diagnose failed GitHub Actions runs for pi-agent-dashboard: the 11-file workflow taxonomy, affected-test selection, the release pipeline, known failure modes, and how to read gh run logs and…

    316 GitHub stars~3.5k tokensUpdated today
    Auto-check passed
  • Debug Dashboard

    BlackBeltTechnology/pi-agent-dashboard

    Diagnose problems in the running pi-agent-dashboard system: server.log, /api/health, bridge WebSocket connectivity, vitest triage, known-issue FAQ entries.

    316 GitHub stars~1.6k tokensUpdated today
    Auto-check passed
  • Implement

    BlackBeltTechnology/pi-agent-dashboard

    Disciplined implementation in pi-agent-dashboard: the rebuild matrix (extension→reload, server→restart, client→build+restart, openspec-apply→full rebuild) plus the project's code discipline rules.

    316 GitHub stars~2k tokensUpdated today
    Auto-check passed
  • Pi Dashboard

    BlackBeltTechnology/pi-agent-dashboard

    Monitor and control the pi-dashboard server. An agent skill from BlackBeltTechnology/pi-agent-dashboard.

    316 GitHub stars~2.2k tokensUpdated today
    Auto-check passed
  • Session To Guideline

    BlackBeltTechnology/pi-agent-dashboard

    Turn a pi session into a Markdown "how-we-did-it" collaboration guideline: reads the session's JSONL transcript and synthesizes a reusable playbook of which prompts worked, what had to be steered…

    316 GitHub stars~3.2k tokensUpdated today
    Auto-check passed

Questions about Music Analysis

What does Music Analysis do?

Analyse a local audio file into a versioned music map (<stemmap.json, schema music-map/1): tempo from the downbeat grid, 1-based bars, key, band levels, classed sections, drop candidates, optional…. Music Analysis is an agent skill from BlackBeltTechnology/pi-agent-dashboard.json, schema music-map/1): tempo from the downbeat grid, 1-based bars, key, band levels, classed sections, drop candidates, optional stems and style tags.

How do I install Music Analysis in Claude Code?

Run `npx skills add BlackBeltTechnology/pi-agent-dashboard --skill music-analysis -a claude-code`. Or copy the skill folder (packages/music-production/.pi/skills/music-analysis in BlackBeltTechnology/pi-agent-dashboard) into .claude/skills/music-analysis in your project. Claude Code loads it when a task matches its description.

How do I install Music Analysis in Codex?

Run `npx skills add BlackBeltTechnology/pi-agent-dashboard --skill music-analysis -a codex`. Or copy the skill folder (packages/music-production/.pi/skills/music-analysis in BlackBeltTechnology/pi-agent-dashboard) into .agents/skills/music-analysis in your project. Codex loads it when a task matches its description.

Can I use Music Analysis in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add BlackBeltTechnology/pi-agent-dashboard --skill music-analysis -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/music-analysis, .gemini/skills/music-analysis, .github/skills/music-analysis and .opencode/skills/music-analysis in your project.

What does Music Analysis need to run?

Going by SKILL.md and its folder, Music Analysis needs Python for the scripts in its folder and the command-line tools its instructions call (uv, ffmpeg, python and jq). Our summary lists: Python 3.

Does Music Analysis access the network?

SKILL.md contains no URLs. Its commands use uv, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Music Analysis safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Music Analysis use?

Music Analysis is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Music Analysis use?

About 1.4k tokens (SKILL.md is roughly 5.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Music Analysis?

Skills that share tags, products or a category with Music Analysis: Venice Audio Music (nexu-io/open-design, 100k stars), HyperFrames Audio (heygen-com/hyperframes, 60k stars), Music to Video (heygen-com/hyperframes, 60k stars) and MiniMax Music Generation (bytedance/deer-flow, 84k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Music Analysis?

BlackBeltTechnology (a GitHub organization) maintains it in BlackBeltTechnology/pi-agent-dashboard, which has 315 GitHub stars. The repository holds 70 skills in this directory. The repository was last updated on October 10, 2026.

Source: BlackBeltTechnology/pi-agent-dashboard on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.