Claude-skill-registry audio-converter
Convert audio files between formats (MP3, WAV, FLAC, OGG, M4A) with bitrate and sample rate control. Batch processing supported.
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/audio-converter" ~/.claude/skills/majiayu000-claude-skill-registry-audio-converter && rm -rf "$T"
manifest:
skills/data/audio-converter/SKILL.mdsource content
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 audio file | Required |
| Output file path | Required |
| Input directory for batch | - |
| Output directory for batch | - |
| Output format | From extension |
| Bitrate in kbps | 192 |
| Sample rate in Hz | Original |
| Number of channels | Original |
| 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