song-analysislisted
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