The dashboard release: claude-music grew from a terminal skill into a small local music studio.
Web dashboard (/music web)
- Chat-style composer: describe your song, pick styles from a multi-select dropdown (28 genres), set instrumental, duration (30 s to 10 min), and quality, then Generate with a live progress percentage.
- A proper player: the waveform is the track's real decoded silhouette and a true timeline at all times. Click or drag anywhere to seek, the played portion fills in orange, and the bars breathe with the music.
- Library with generative album art (30 gradient and geometry presets keyed to genre, deterministic per track, softly animating), relative times, click-to-rename titles, star ratings, a pending row while generating, and confetti when a track lands.
- Bring your own songs: drag and drop to upload, then Audit (loudness, true peak, format report with fix suggestions), Optimize (two-pass loudnorm to -14 LUFS and -1 dBTP), generate Similar via cover mode with a strength choice, or use quick actions (Calmer, More bass, Faster, Remix).
- Settings: change the output folder from the dashboard; everything follows immediately.
- Zero dependencies: a Python stdlib server on 127.0.0.1 and one self-contained HTML page.
Reliability
- Fail fast when free VRAM cannot fit a generation, naming the processes holding the GPU.
- Automatic retry with a single variant on out-of-memory, and automatic retry on transient launcher failures.
- LM stdout noise no longer breaks result parsing; dash-leading prompts no longer crash argument parsing.
- Failures surface as sticky notifications with plain-language fixes.
Engine and repo
- Settings precedence CLI flag > config.json > quality preset; readable output filenames
slug_date_index_seed.ext;--progressNDJSON events for wrappers. config.jsonis per-machine and untracked; installers seed it fromconfig.example.json.- Test suite: 13 to 54 GPU-free tests.
Hear it
Three unedited examples with their prompts are in examples/.

