audio-converter

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Audio Converter

音频转换器

Convert audio files between popular formats with control over quality settings. Supports batch processing and maintains metadata where possible.
在不同主流音频格式之间转换文件,可控制质量设置。支持批量处理,并尽可能保留元数据。

Quick Start

快速开始

python
from scripts.audio_converter import AudioConverter
python
from scripts.audio_converter import AudioConverter

Simple conversion

简单转换

converter = AudioConverter("input.wav") converter.convert("output.mp3")
converter = AudioConverter("input.wav") converter.convert("output.mp3")

With quality settings

带质量设置的转换

converter = AudioConverter("input.flac") converter.bitrate(320).sample_rate(44100).convert("output.mp3")
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)
undefined
AudioConverter.batch_convert("./input_folder", "./output_folder", format="mp3", bitrate=192)
undefined

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
  • 格式支持:MP3、WAV、FLAC、OGG、M4A/AAC、AIFF
  • 质量控制:比特率、采样率、声道数
  • 元数据保留:尽可能复制标签信息
  • 批量处理:转换整个目录下的文件
  • 音量归一化:可选的音量归一化功能

API Reference

API参考

Initialization

初始化

python
undefined
python
undefined

From file

从文件初始化

converter = AudioConverter("audio.wav")
undefined
converter = AudioConverter("audio.wav")
undefined

Settings

设置

python
converter.bitrate(192)        # kbps (for lossy formats)
converter.sample_rate(44100)  # Hz
converter.channels(2)         # 1=mono, 2=stereo
converter.normalize(True)     # Normalize volume
python
converter.bitrate(192)        # 千比特每秒(适用于有损格式)
converter.sample_rate(44100)  # 赫兹
converter.channels(2)         # 1=单声道,2=立体声
converter.normalize(True)     # 启用音量归一化

Conversion

转换操作

python
undefined
python
undefined

Convert to format (inferred from extension)

根据扩展名推断格式进行转换

converter.convert("output.mp3")
converter.convert("output.mp3")

Explicit format

显式指定格式

converter.convert("output", format="mp3")
undefined
converter.convert("output", format="mp3")
undefined

Batch Processing

批量处理

python
undefined
python
undefined

Convert all files in directory

转换目录下所有文件

AudioConverter.batch_convert( input_dir="./wavs", output_dir="./mp3s", format="mp3", bitrate=320 )
undefined
AudioConverter.batch_convert( input_dir="./wavs", output_dir="./mp3s", format="mp3", bitrate=320 )
undefined

CLI Usage

CLI使用方法

bash
undefined
bash
undefined

Simple conversion

简单转换

python audio_converter.py --input song.wav --output song.mp3
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
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
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
undefined
python audio_converter.py --input song.wav --output song.mp3 --normalize
undefined

CLI Arguments

CLI参数

ArgumentDescriptionDefault
--input
Input audio fileRequired
--output
Output file pathRequired
--input-dir
Input directory for batch-
--output-dir
Output directory for batch-
--format
Output formatFrom extension
--bitrate
Bitrate in kbps192
--sample-rate
Sample rate in HzOriginal
--channels
Number of channelsOriginal
--normalize
Normalize volumeFalse
参数描述默认值
--input
输入音频文件必填
--output
输出文件路径必填
--input-dir
批量转换的输入目录-
--output-dir
批量转换的输出目录-
--format
输出格式从扩展名推断
--bitrate
比特率(千比特每秒)192
--sample-rate
采样率(赫兹)原文件采样率
--channels
声道数量原文件声道数
--normalize
启用音量归一化False

Supported Formats

支持的格式

FormatExtensionTypeNotes
MP3.mp3LossyMost compatible
WAV.wavLosslessLarge files
FLAC.flacLosslessCompressed lossless
OGG.oggLossyOpen format
M4A.m4aLossyAAC codec
AIFF.aiffLosslessApple format
格式扩展名类型说明
MP3.mp3有损兼容性最广
WAV.wav无损文件体积大
FLAC.flac无损压缩型无损格式
OGG.ogg有损开源格式
M4A.m4a有损AAC编码
AIFF.aiff无损Apple格式

Examples

示例

Convert WAV to MP3

将WAV转换为MP3

python
converter = AudioConverter("recording.wav")
converter.bitrate(320).convert("recording.mp3")
python
converter = AudioConverter("recording.wav")
converter.bitrate(320).convert("recording.mp3")

Convert FLAC to Multiple Formats

将FLAC转换为多种格式

python
source = AudioConverter("album.flac")
python
source = AudioConverter("album.flac")

High quality MP3

高品质MP3

source.bitrate(320).convert("album_hq.mp3")
source.bitrate(320).convert("album_hq.mp3")

Standard MP3

标准品质MP3

source.bitrate(192).convert("album_std.mp3")
source.bitrate(192).convert("album_std.mp3")

OGG for streaming

适用于流媒体的OGG格式

source.bitrate(128).convert("album.ogg")
undefined
source.bitrate(128).convert("album.ogg")
undefined

Batch Convert for Podcast

批量转换播客文件

python
undefined
python
undefined

Convert all WAV recordings to MP3 with podcast settings

将所有WAV录制文件转换为符合播客设置的MP3

AudioConverter.batch_convert( input_dir="./raw_episodes", output_dir="./episodes", format="mp3", bitrate=128, sample_rate=44100, channels=1 # Mono for podcasts )
undefined
AudioConverter.batch_convert( input_dir="./raw_episodes", output_dir="./episodes", format="mp3", bitrate=128, sample_rate=44100, channels=1 # 播客使用单声道 )
undefined

Dependencies

依赖项

pydub>=0.25.0
soundfile>=0.12.0
Note: Requires FFmpeg installed on system for MP3/M4A support.
pydub>=0.25.0
soundfile>=0.12.0
注意:系统需安装FFmpeg以支持MP3/M4A格式。

Limitations

限制条件

  • Requires FFmpeg for MP3 and M4A formats
  • Metadata transfer is best-effort
  • Some format combinations may not preserve all tags
  • 支持MP3和M4A格式需依赖FFmpeg
  • 元数据传输为尽力而为模式
  • 部分格式组合可能无法保留所有标签信息