From audio-production
Use when the user wants to speed up or slow down audio while preserving pitch — podcast tightening (1.05–1.15× is common), slow-talker correction, fitting an episode to a target duration, or de-chipmunking a sped-up source. Wraps `rubberband-cli` for high-quality time-stretch; falls back to ffmpeg `atempo` if rubberband isn't installed.
npx claudepluginhub danielrosehill/claude-code-plugins --plugin audio-productionThis skill uses the workspace's default tool permissions.
Change playback speed without changing pitch (and optionally vice-versa). `rubberband` is the quality engine — ffmpeg's `atempo` works for mild changes but artefacts at extremes; `rubberband` holds up to ~0.5×–2× cleanly.
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.
Change playback speed without changing pitch (and optionally vice-versa). rubberband is the quality engine — ffmpeg's atempo works for mild changes but artefacts at extremes; rubberband holds up to ~0.5×–2× cleanly.
Do not use this skill for:
convert-format.tempo — change speed, preserve pitch. Takes a ratio (1.10 = 10% faster, 0.95 = 5% slower).duration — fit to a target duration in seconds; the skill computes the ratio.pitch — shift pitch in semitones, preserve duration. Takes a number (+2 = up two semitones, -3 = down three).<input-stem>.stretched.<ext>.Detect engine. Prefer rubberband if on PATH; else fall back to ffmpeg atempo (and warn if the requested ratio is outside [0.5, 2.0] — atempo requires chaining beyond that range, which compounds artefacts).
rubberband (preferred):
# tempo: ratio 1.10 = 10% faster
rubberband --tempo <ratio> "<input>" "<output>"
# duration: fit to N seconds
# ratio = orig_duration / target_duration
rubberband --tempo <ratio> "<input>" "<output>"
# pitch: shift by N semitones
rubberband --pitch <semitones> "<input>" "<output>"
Add --fine for high-quality (slower) processing on critical material; default mode is fine for most podcast use.
ffmpeg fallback (atempo, tempo mode only):
ffmpeg -i "<input>" -filter:a "atempo=<ratio>" "<output>"
For ratios outside [0.5, 2.0], chain: atempo=2.0,atempo=<remainder> (or the inverse for slow-down). Warn the user that quality degrades.
ffmpeg has no clean equivalent of --pitch without changing duration; if pitch mode is requested and rubberband is missing, tell the user to install rubberband — don't fake it.
Verify output: ffprobe -i "<output>". Report old vs new duration and the ratio applied.
<input> (<orig-duration>s) → <output> (<new-duration>s, ratio <ratio>, engine <rubberband|atempo>).<input> → <output> (pitch <±N> semitones, engine rubberband).rubberband-cli is apt install rubberband-cli — tiny footprint. Add via install-deps.normalize after.