audio-converter
Convert audio files between formats (MP3, WAV, FLAC, OGG, M4A) with bitrate and sample rate control. Batch processing supported.
When & Why to Use This Skill
The Audio Converter skill is a powerful utility for Claude agents designed to handle audio file transformations. It supports seamless conversion between major formats including MP3, WAV, FLAC, OGG, and M4A, offering granular control over bitrate, sample rate, and channel configurations. With built-in support for batch processing and volume normalization, it streamlines audio asset management for developers, podcasters, and creative professionals.
Use Cases
- Podcast Production: Batch convert raw WAV recordings into 128kbps mono MP3 files optimized for distribution.
- Web Optimization: Convert high-fidelity FLAC or AIFF files into compressed OGG or M4A formats to reduce web page loading times.
- Audio Normalization: Automatically adjust and normalize volume levels across a library of audio clips to ensure consistent playback quality.
- Storage Management: Downsample high-bitrate audio files to lower bitrates (e.g., 320kbps to 192kbps) to save disk space while maintaining acceptable quality.
- Format Compatibility: Quickly transform Apple-specific AIFF files into universally compatible MP3 or WAV formats for cross-platform use.
| name | audio-converter |
|---|---|
| description | Convert audio files between formats (MP3, WAV, FLAC, OGG, M4A) with bitrate and sample rate control. Batch processing supported. |
Audio Converter
Convert audio files between popular formats with control over quality settings. Supports batch processing and maintains metadata where possible.
Quick Start
from scripts.audio_converter import AudioConverter
# Simple conversion
converter = AudioConverter("input.wav")
converter.convert("output.mp3")
# With quality settings
converter = AudioConverter("input.flac")
converter.bitrate(320).sample_rate(44100).convert("output.mp3")
# Batch convert directory
AudioConverter.batch_convert("./input_folder", "./output_folder", format="mp3", bitrate=192)
Features
- Format Support: MP3, WAV, FLAC, OGG, M4A/AAC, AIFF
- Quality Control: Bitrate, sample rate, channels
- Metadata Preservation: Copy tags when possible
- Batch Processing: Convert entire directories
- Normalization: Optional volume normalization
API Reference
Initialization
# From file
converter = AudioConverter("audio.wav")
Settings
converter.bitrate(192) # kbps (for lossy formats)
converter.sample_rate(44100) # Hz
converter.channels(2) # 1=mono, 2=stereo
converter.normalize(True) # Normalize volume
Conversion
# Convert to format (inferred from extension)
converter.convert("output.mp3")
# Explicit format
converter.convert("output", format="mp3")
Batch Processing
# Convert all files in directory
AudioConverter.batch_convert(
input_dir="./wavs",
output_dir="./mp3s",
format="mp3",
bitrate=320
)
CLI Usage
# Simple conversion
python audio_converter.py --input song.wav --output song.mp3
# With quality settings
python audio_converter.py --input song.flac --output song.mp3 --bitrate 320 --sample-rate 44100
# Batch convert
python audio_converter.py --input-dir ./wavs --output-dir ./mp3s --format mp3 --bitrate 192
# Normalize during conversion
python audio_converter.py --input song.wav --output song.mp3 --normalize
CLI Arguments
| Argument | Description | Default |
|---|---|---|
--input |
Input audio file | Required |
--output |
Output file path | Required |
--input-dir |
Input directory for batch | - |
--output-dir |
Output directory for batch | - |
--format |
Output format | From extension |
--bitrate |
Bitrate in kbps | 192 |
--sample-rate |
Sample rate in Hz | Original |
--channels |
Number of channels | Original |
--normalize |
Normalize volume | False |
Supported Formats
| Format | Extension | Type | Notes |
|---|---|---|---|
| MP3 | .mp3 | Lossy | Most compatible |
| WAV | .wav | Lossless | Large files |
| FLAC | .flac | Lossless | Compressed lossless |
| OGG | .ogg | Lossy | Open format |
| M4A | .m4a | Lossy | AAC codec |
| AIFF | .aiff | Lossless | Apple format |
Examples
Convert WAV to MP3
converter = AudioConverter("recording.wav")
converter.bitrate(320).convert("recording.mp3")
Convert FLAC to Multiple Formats
source = AudioConverter("album.flac")
# High quality MP3
source.bitrate(320).convert("album_hq.mp3")
# Standard MP3
source.bitrate(192).convert("album_std.mp3")
# OGG for streaming
source.bitrate(128).convert("album.ogg")
Batch Convert for Podcast
# Convert all WAV recordings to MP3 with podcast settings
AudioConverter.batch_convert(
input_dir="./raw_episodes",
output_dir="./episodes",
format="mp3",
bitrate=128,
sample_rate=44100,
channels=1 # Mono for podcasts
)
Dependencies
pydub>=0.25.0
soundfile>=0.12.0
Note: Requires FFmpeg installed on system for MP3/M4A support.
Limitations
- Requires FFmpeg for MP3 and M4A formats
- Metadata transfer is best-effort
- Some format combinations may not preserve all tags