Convert, clean, and organize
thousands of audio files
in one command.
Stop wrestling with messy sample libraries. Audio Tools batch-converts WAV, OGG, FLAC, AAC, WMA, and M4A between formats, normalizes loudness, deduplicates by SHA256, renames with patterns, trims silence, and consolidates scattered folders — all from your terminal.
$ ▎
[INFO] Scanning ./samples...
[INFO] Found 124 files.
→ kick_01.wav → mp3... OK
→ snare_rev.flac → mp3... OK
→ vox_take.aac → mp3... OK
→ normalize 2 files to −16 LUFS... OK
→ dedup 3 duplicates trashed... OK
[SUCCESS] Batch processing complete.
Zero setup. Instant results.
Three commands — or zero if you just run the interactive menu.
Install
git clone && ./install.sh
The installer detects your OS and fetches ffmpeg if needed.
Run
audio-tools
No arguments? The interactive menu guides you step by step.
Done
audio-tools convert ./samples
Your library is converted, normalized, deduped, and organized. Ship it.
Everything you need to tame your audio library
Six actions. One CLI. No bloat.
17 Commands, One Tool
Convert, normalize, trim silence, concat, clean, rename, dedup, scan, remove, list, stats, info, search, config — every audio management task covered with a single command.
Strict & Safe
No data loss. All destructive operations funnel through the system trash. You always get a second chance.
Lightning Fast
Pure Bash. Zero bloat. Minimal dependencies. Processes thousands of files in seconds.
Hybrid Interface
Choose your workflow: a guided Interactive Menu for casual use, or a robust Batch Mode with CLI flags for automation scripts and CI pipelines.
Cross-Platform
Runs on Linux, macOS, and Windows via WSL. The installer detects your OS and configures everything automatically.
Configurable
CLI flags, env vars, or config file — choose your flavor. Supports --json output, --dry-run previews, and --force for automation. Priority: flags > env > config.
One CLI to rule them all
Every command works in both interactive and batch mode. Plug them into Makefiles, CI scripts, or cron jobs.
| Command | Description | |
|---|---|---|
| Conversion & Processing | ||
convert |
WAV/OGG/FLAC/AAC/WMA/M4A → MP3/OGG/AAC/FLAC with configurable bitrate | |
normalize |
EBU R128 loudness normalization (−16 LUFS target) | |
trim-silence |
Remove leading and trailing silence from audio files | |
concat |
Concatenate multiple audio files into one (alphabetical order) | |
split-silence |
Split a single audio file at silence points into segments | |
| Cleanup & Organize | ||
clean |
Replace spaces with underscores, strip special characters | |
rename |
Batch rename with patterns: {n} {orig} {date} {ext} |
|
scan |
Consolidate all audio from subfolders into one flat directory | |
remove |
Remove short/long files by duration condition via system trash | |
dedup |
Remove exact duplicates by SHA256 (keep first, trash rest) | |
find-dupes |
Find exact duplicates by SHA256 (list only, no deletion) | |
| Inspect & Search | ||
list |
List audio files with metadata (table/simple/tree views) | |
stats |
Aggregate directory statistics: count, duration, size, format breakdown | |
info |
Show audio file metadata (bitrate, channels, sample rate, duration) | |
search |
Find files by keyword, then delete or extract to folder | |
| Shell & Config | ||
config |
Manage settings: get, set, list, edit, reset, path | |
completion |
Generate shell completion (bash/zsh/fish) | |
Built for audio professionals
No matter your workflow — if you work with audio files, this tool saves you hours.
Music Producers
Batch convert sample packs, remove one-shot clutter, and keep your library pristine.
ML Engineers
Prepare clean audio datasets at scale. Batch-convert, normalize loudness, deduplicate samples and rename with patterns.
Archivists
Batch-convert thousands of legacy audio files into a unified MP3 format while preserving original filenames.
Podcasters
Convert interview recordings to MP3, clean messy filenames from contributors, and consolidate scattered files into one folder.
Questions? We've got answers.
Is it safe? Will I lose my files?
Absolutely. All destructive operations (delete, move) funnel through the system trash — first macOS ~/.Trash, then Linux gio trash, with multiple fallbacks including local to_delete/. Your files are never permanently removed without a safety net.
Do I need ffmpeg?
Yes — ffmpeg + ffprobe are required for audio conversion and duration detection. The install.sh script can automatically fetch them via your system package manager (apt, brew, pacman, or winget).
Is it difficult to use?
Not at all. Run audio-tools with no arguments and the interactive menu guides you through every step — setting directories, choosing thresholds, and confirming operations. The batch mode with CLI flags is there when you're ready to automate.
Can I use it in scripts or CI?
Yes. Every command works in non-interactive mode with exit codes following sysexits conventions (0 = success, 64 = usage error, 69 = missing dep, 74 = I/O error). Use --json for machine-readable output and --dry-run to preview. Pipe into Makefiles, CI pipelines, or cron jobs.
Which audio formats are supported?
Input: WAV, OGG, FLAC, AAC, WMA, M4A. Output: MP3, OGG, AAC, FLAC with configurable bitrate. Also supports EBU R128 loudness normalization, silence detection, and SHA256 dedup. All processing handled by ffmpeg under the hood.
Is it really free?
100% free and open-source under the MIT license. No paid tiers, no telemetry, no account required. Clone the repo and you're done.
Ready in 30 seconds.
One command. No signup. No telemetry. Just audio tools.
git clone https://github.com/ekosistema/audio-tools.git && cd audio-tools && ./install.sh