关于 audio-converter
audio-converter 是面向音频文件处理的 Python 库和命令行工具,支持单文件及目录转换。它可调整输出质量、选择音量标准化,并尽可能保留元数据。
主要功能
- 01转换 MP3、WAV、FLAC、OGG、M4A/AAC 和 AIFF
- 02设置比特率、采样率和声道
- 03批量处理目录中的文件
- 04可选音量标准化
- 05尽可能复制元数据
适用场景
- 01将 WAV 录音转换为 MP3
- 02批量转换目录中的音频文件
- 03为不同格式调整输出质量
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ dkyazzentwatwa/ chatgpt-skills --skill audio-converter安装后在 Claude Code 中输入/audio-converter确认已加载。
附带文件scripts/audio_converter.pyscripts/requirements.txt
详细介绍
音频转换器
在常见格式之间转换音频文件,并可控制质量设置。支持批量处理,并尽可能保留元数据。
快速开始
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)
功能
- 格式支持:MP3、WAV、FLAC、OGG、M4A/AAC、AIFF
- 质量控制:比特率、采样率、声道数
- 元数据保留:尽可能复制标签
- 批量处理:转换整个目录
- 音量标准化:可选的音量标准化
API 参考
初始化
# From file
converter = AudioConverter("audio.wav")
设置
converter.bitrate(192) # kbps (for lossy formats)
converter.sample_rate(44100) # Hz
converter.channels(2) # 1=mono, 2=stereo
converter.normalize(True) # Normalize volume
转换
# Convert to format (inferred from extension)
converter.convert("output.mp3")
# Explicit format
converter.convert("output", format="mp3")
批量处理
# Convert all files in directory
AudioConverter.batch_convert(
input_dir="./wavs",
output_dir="./mp3s",
format="mp3",
bitrate=320
)
CLI 用法
# 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 参数
| 参数 | 描述 | 默认值 |
|---|---|---|
--input | 输入音频文件 | 必填 |
--output | 输出文件路径 | 必填 |
--input-dir | 用于批量处理的输入目录 | - |
--output-dir | 用于批量处理的输出目录 | - |
--format | 输出格式 | 根据扩展名确定 |
--bitrate | 比特率,单位为 kbps | 192 |
--sample-rate | 采样率,单位为 Hz | 原始值 |
--channels | 声道数 | 原始值 |
--normalize | 标准化音量 | False |
支持的格式
| 格式 | 扩展名 | 类型 | 备注 |
|---|---|---|---|
| MP3 | .mp3 | 有损 | 兼容性最佳 |
| WAV | .wav | 无损 | 文件较大 |
| FLAC | .flac | 无损 | 压缩的无损格式 |
| OGG | .ogg | 有损 | 开放格式 |
| M4A | .m4a | 有损 | AAC 编码 |
| AIFF | .aiff | 无损 | Apple 格式 |
示例
将 WAV 转换为 MP3
converter = AudioConverter("recording.wav")
converter.bitrate(320).convert("recording.mp3")
将 FLAC 转换为多种格式
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")
批量转换播客音频
# 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
)
依赖项
pydub>=0.25.0
soundfile>=0.12.0
注意:系统必须安装 FFmpeg 才能支持 MP3/M4A。
限制
- MP3 和 M4A 格式需要 FFmpeg
- 元数据传输尽力而为
- 某些格式组合可能无法保留所有标签
评论
支持 Markdown