← ClaudeAtlas

song-analysislisted

Use when analyzing a song recording — extracting tempo/downbeats/key, separating stems, transcribing bass to MIDI, identifying chords per bar, timing lyrics, reading drum patterns, or producing a chord+lyric chart for a band. Covers madmom, demucs (htdemucs_ft), CREPE, basic-pitch, chroma chord proposal, and Whisper word timing.
PerIPan/music-workflow-skills · ★ 0 · Data & Documents · score 60
Install: claude install-skill PerIPan/music-workflow-skills
# Song Analysis — recording → bars, chords, lyrics, chart Song-agnostic pipeline, validated over many real projects (Mitski "A Pearl", Greek laiko, punk reinterpretations). Works for any song, genre, or key. **References (read on demand):** - `references/environment-setup.md` — first-time venv install + per-song folder layout - `references/chart-and-lyrics.md` — chart structure, the 6 lyric-placement rules, HTML output - `references/drum-pattern-analysis.md` — kick/snare pattern reading from the drums stem - `references/modal-theory.md` — power-chord shorthand, mode tables, Byzantine ≠ Phrygian ## Inputs 1. **Audio file** — mp3/wav of the song (full mix). 2. **Lyrics** — canonical text from an official source. Section labels (Verse, Chorus, Bridge…) come from this, not from the analyzer. ## Tool per step | Step | Tool | Why | |---|---|---| | Tempo / downbeats / bars | **madmom** downbeat tracker | Most accurate at slow & mid tempos | | Key (melodic mode) | **librosa** chroma + Krumhansl | Signal only — see Trap 2 | | Stem separation | **demucs `htdemucs_ft`** (4-stem) | Cleanest bass; NEVER `htdemucs_6s` (bleeds piano/guitar into bass) | | Bass → MIDI | **CREPE** (`full` + viterbi) | Monophonic tracker; gives the ROOT, not quality | | Polyphonic parts → MIDI | **basic-pitch** | Piano/guitar/pads, double-stops | | Chords | **chroma + bass-root + major-bias** | 99% top-1 validated (see Phase 5b) | | Lyrics + word timing | **mlx-whisper `large-v3`** (Apple Silicon) or o