Skip to content

kiriz/av-tools

Repository files navigation

av-tools

CI Coverage License Python

Personal audio and video processing tools. Scripts for chanting practice, speed adjustment, and media downloading.

Setup

./setup.sh

Installs brew dependencies (ffmpeg, yt-dlp) and syncs the Python environment via uv.

Tools

add-practice-gaps — insert recitation practice gaps

Detects natural pauses in chanting audio and replaces them with timed silence for call-and-response practice.

uv run add-practice-gaps input.m4a output.mp3
uv run add-practice-gaps input.m4a output.mp3 --multiplier 1.5 --min-verse 8 --skip-intro 5
Flag Default Description
--multiplier 1.0 Gap duration = multiplier × verse length
--min-verse 6.0s Min audio before inserting a gap
--min-gap 2.0s Minimum gap duration
--skip-intro 9.0s Ignore pauses in the opening N seconds
--noise-db -20 Silence threshold in dB
--bitrate 128k Output MP3 bitrate

scripts/audio/change_speed.sh — change playback speed

Pitch-preserving speed change via ffmpeg atempo. Handles speeds outside the 0.5–2.0 range by chaining filters automatically.

./scripts/audio/change_speed.sh input.mp3 1.4
./scripts/audio/change_speed.sh input.mp3 1.4 output.mp3

Quick Reference

  • refs/ffmpeg.md — speed, format conversion, trim, silence detection
  • refs/yt-dlp.md — audio extraction, section download, playlists

Tests

bash test.sh

License

MIT

About

Personal audio/video processing tools — ffmpeg, yt-dlp, practice gap insertion

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors