Discovery¶
Discovery is handled by find_audio_files.
Behavior¶
- Recursively walks the input directory.
- Selects files by extension.
- Matches extensions case-insensitively.
- Returns sorted paths for deterministic runs.
- Raises
FileNotFoundErrorwhen the input directory does not exist.
The default extension set includes common FFmpeg-readable audio/video containers such as:
(".mp3", ".wav", ".flac", ".m4a", ".ogg", ".opus", ".webm", ".mp4", ...)
Python Example¶
from pathlib import Path
from audio_prep import find_audio_files
files = find_audio_files(Path("data/raw_mp3"))
Custom Extensions¶
The function accepts a custom extension tuple:
files = find_audio_files(
Path("data/audio"),
extensions=(".mp3", ".m4a", ".ogg"),
)
Pass extensions=None to return every regular file and let FFmpeg decide what
can be decoded:
files = find_audio_files(Path("data/mixed"), extensions=None)
CLI Example¶
The CLI exposes the same behavior with --extensions:
audio-prep convert \
--input-dir data/audio \
--output-dir data/wav16k \
--extensions mp3,m4a,ogg
audio-prep chunk \
--input-dir data/mixed \
--output-dir data/chunks \
--extensions all
Use --extensions all to scan every regular file.