v3.0.0 — Free & open-source

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.

bash — audio-tools

$

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.

convert normalize remove dedup stats

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.

--format flac --dry-run --pattern '{n}_{orig}' --json

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
No account required MIT licensed Works on Linux, macOS & WSL