mcpField
A
audio-converter

audio-converter

github.com/dkyazzentwatwa创意与媒体12471 次安装29 周前更新
代码仓库

关于 audio-converter

audio-converter 是面向音频文件处理的 Python 库和命令行工具,支持单文件及目录转换。它可调整输出质量、选择音量标准化,并尽可能保留元数据。

主要功能

  1. 01转换 MP3、WAV、FLAC、OGG、M4A/AAC 和 AIFF
  2. 02设置比特率、采样率和声道
  3. 03批量处理目录中的文件
  4. 04可选音量标准化
  5. 05尽可能复制元数据

适用场景

  1. 01将 WAV 录音转换为 MP3
  2. 02批量转换目录中的音频文件
  3. 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比特率,单位为 kbps192
--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