audio

Installation
SKILL.md

Audio

Audio processing with ffmpeg. Use this skill when you need to change audio — not just read metadata (use inspect for that).

When to use

  • This skill — extract audio from video, convert formats, trim/concat timeline edits, loudness normalize, fade, resample, find silence.
  • inspect — read-only metadata before editing (duration, codecs, sample rate). Always probe first when unsure about input format.
  • video-transformation — mux normalized or extracted audio back onto video (replace_audio.py and similar ops).
  • Raw ffmpeg — fine for one-off filter chains, but these scripts return consistent JSON and auto-generate output paths.

Gotchas

  • Trim with -c copytrim.py stream-copies for speed. Works for WAV and many containers; can fail or produce glitches on MP3/AAC with frame boundaries. Re-encode with ffmpeg manually if copy fails.
  • Concat requires matching codecsconcat.py uses the concat demuxer with -c copy. All inputs must share codec, sample rate, and channel layout. Convert/resample first if needed.
  • Normalize outputs WAVloudnorm writes PCM WAV. Mux back to video with video-transformation replace_audio.py, or convert with convert.py.
  • Fade is fixed 1 s infade.py applies afade=t=in:st=0:d=1 only. Custom fade curves need raw ffmpeg.
  • Silence threshold is fixedsilence_detect.py uses noise=-30dB:d=0.5. Pure tones (e.g. test fixtures) may report no silence; real speech/podcast material works best.
  • Extract vs video extractextract.py strips video (-vn) to WAV. For video-specific workflows, check video-transformation extract_audio.py too.
Installs
7
GitHub Stars
1
First Seen
Jul 6, 2026
audio — timelapsetech/mediaskills