A terminal UI application for audio processing, built with Textual.
Extract individual chapters from a YouTube video as separate MP3 files with ID3 metadata (title, artist, album). Videos without chapters are downloaded as a single track.
Download videos from a YouTube playlist as individual MP3 files. Select which videos to include, edit metadata (playlist title is pre-filled as album), and optionally normalize loudness.
Normalize the loudness of MP3 files in a directory to a target LUFS value using ffmpeg's EBU R128 loudnorm filter. Displays current loudness measurements with average and median statistics before processing.
uv syncuv run python -m yt_chapter_extractorOr via the script entry point:
uv run yt-chapter-extractorOn launch, select a mode:
- YouTube MP3 Extraction - Enter a YouTube video or playlist URL. Single videos with chapters let you select which ones to extract; videos without chapters are treated as a single track; playlists let you pick videos to download as individual MP3s. Edit metadata, optionally enable loudness normalization (target LUFS), and download (saved to
./output/). - Audio Decibel Normalization - Enter a directory path, review loudness levels, set a target LUFS (default: -19.0), and normalize all MP3 files in-place.