本文目录导读:

使用 FFmpeg(推荐)
基本命令
# 批量转换当前目录下所有wav文件
for i in *.wav; do
ffmpeg -i "$i" -ar 44100 "converted_${i}"
done
更完整的脚本
#!/bin/bash
# batch_resample.sh
# 设置参数
INPUT_DIR="./input"
OUTPUT_DIR="./output"
SAMPLE_RATE=44100 # 目标采样率
FORMAT="wav" # 输出格式
# 创建输出目录
mkdir -p "$OUTPUT_DIR"
# 批量处理
for file in "$INPUT_DIR"/*.$FORMAT; do
filename=$(basename "$file")
ffmpeg -i "$file" -ar $SAMPLE_RATE "$OUTPUT_DIR/$filename"
done
echo "转换完成!"
使用 Python + pydub
import os
from pydub import AudioSegment
def batch_resample(input_dir, output_dir, target_sample_rate=44100):
"""
批量调整音频采样率
"""
os.makedirs(output_dir, exist_ok=True)
for filename in os.listdir(input_dir):
if filename.endswith(('.wav', '.mp3', '.flac')):
input_path = os.path.join(input_dir, filename)
# 读取音频文件
audio = AudioSegment.from_file(input_path)
# 调整采样率
resampled = audio.set_frame_rate(target_sample_rate)
# 输出文件
output_path = os.path.join(output_dir, filename)
resampled.export(output_path, format=os.path.splitext(filename)[1][1:])
print(f"已处理: {filename}")
# 使用示例
batch_resample("./input", "./output", 44100)
使用 SoX
#!/bin/bash
# batch_sox.sh
INPUT_DIR="input"
OUTPUT_DIR="output"
SAMPLE_RATE=44100
mkdir -p "$OUTPUT_DIR"
for file in "$INPUT_DIR"/*.wav; do
filename=$(basename "$file")
sox "$file" -r $SAMPLE_RATE "$OUTPUT_DIR/$filename"
done
使用 librosa (Python)
import librosa
import soundfile as sf
import os
def batch_resample_librosa(input_dir, output_dir, target_sr=44100):
"""使用librosa批量重采样"""
os.makedirs(output_dir, exist_ok=True)
for filename in os.listdir(input_dir):
if filename.endswith('.wav'):
filepath = os.path.join(input_dir, filename)
# 加载音频并重采样
y, sr = librosa.load(filepath, sr=target_sr)
# 保存文件
output_path = os.path.join(output_dir, filename)
sf.write(output_path, y, target_sr)
print(f"已处理: {filename} (采样率: {target_sr}Hz)")
# 使用示例
batch_resample_librosa("./input", "./output", 44100)
常见采样率参考
- 44100 Hz:CD音质标准
- 48000 Hz:DVD/专业音频标准
- 22050 Hz:语音识别常用
- 16000 Hz:电话语音标准
安装依赖
FFmpeg
# Ubuntu/Debian sudo apt install ffmpeg # macOS brew install ffmpeg # Windows # 下载FFmpeg并添加到环境变量
Python库
pip install pydub pip install librosa soundfile
SoX
# Ubuntu/Debian sudo apt install sox # macOS brew install sox
选择哪种方法取决于你的需求:
- FFmpeg:功能强大,支持各种格式
- Python:适合集成到自动化工作流
- SoX:简单快速,适合简单转换