From audio-production
Use when Daniel wants to prep raw audio tracks for DistroKid upload — convert to FLAC, EBU R128 normalize, and group under distrokid/to-upload/<release>/. Triggers on "distrokid prep", "prep for distrokid", "prep these tracks for upload", "normalize and FLAC for distrokid".
npx claudepluginhub danielrosehill/claude-code-plugins --plugin audio-productionThis skill uses the workspace's default tool permissions.
Take a set of raw input tracks and produce upload-ready FLACs grouped into a release folder under `distrokid/to-upload/<release-slug>/`. Daniel will move the folder into a processed subfolder once he's confirmed the upload.
Conducts multi-round deep research on GitHub repos via API and web searches, generating markdown reports with executive summaries, timelines, metrics, and Mermaid diagrams.
Share bugs, ideas, or general feedback.
Take a set of raw input tracks and produce upload-ready FLACs grouped into a release folder under distrokid/to-upload/<release-slug>/. Daniel will move the folder into a processed subfolder once he's confirmed the upload.
marc-mehlman). Ask if not given.distrokid/to-upload/<release-slug>/ containing one FLAC per input track.01_, 02_, etc. in the order given.For each input track:
Pass 1 — measure:
ffmpeg -i "$IN" -af loudnorm=I=-14:TP=-1:LRA=11:print_format=json -f null - 2> /tmp/ln.log
Parse input_i, input_tp, input_lra, input_thresh, target_offset from the JSON block at the end of the log.
Pass 2 — apply with measured values:
ffmpeg -i "$IN" -af loudnorm=I=-14:TP=-1:LRA=11:measured_I=$mi:measured_TP=$mtp:measured_LRA=$mlra:measured_thresh=$mth:offset=$off:linear=true:print_format=summary -ar 44100 -map_metadata -1 "$OUT.flac"
Use -ar 44100 only if source is 44.1k or below; otherwise preserve source rate.
Verify ffmpeg is installed before starting. If not, tell the user.
distrokid/to-upload/<release-slug>/ and he should move it into a processed/ subfolder once uploaded.