audio-to-midilisted
Install: claude install-skill maystudios/claude-skills
# Audio-to-MIDI Transcription
Convert audio files to MIDI and MusicXML with full music analysis (tempo, key, chords, dynamics, instruments).
## Tool
**Script:** `scripts/transcribe.py` -- wraps Basic Pitch, Demucs, librosa, and music21. Auto-installs dependencies.
## Workflow
1. Identify the input audio file (MP3, WAV, FLAC, OGG, M4A)
2. Determine options:
- **Stems?** Add `--stems` to separate vocals/drums/bass/other with Demucs first
- **Output dir?** Use `-o path` or default to input file's directory
- **Skip analysis?** Add `--no-analysis` if only MIDI/MusicXML needed
- **Skip MusicXML?** Add `--no-musicxml` if only MIDI needed
3. Run the transcription script
4. Report output files and analysis summary to user
## Engines
| Engine | Flag | Best for | Accuracy |
|--------|------|----------|----------|
| Basic Pitch | `--engine basic-pitch` (default) | Mixed/polyphonic music | Good |
| **Piano Model** | `--engine piano` | Piano/keyboard music | **96.7% F1** |
For piano or keyboard music, always use `--engine piano` — it captures sustain/pedal, has far fewer ghost notes, and produces much more accurate MIDI.
## Usage
```bash
# Piano music (recommended for piano/keyboard)
py -3.12 scripts/transcribe.py "piano.mp3" --engine piano
# General music (default engine: Basic Pitch)
py -3.12 scripts/transcribe.py "song.mp3"
# With stem separation (Demucs): each stem gets its own MIDI + MusicXML
py -3.12 scripts/transcribe.py "song.wav" --stems
# Custom output d