# 场景
有些无损音频尺寸太大了, 转成不同码率的mp3, 可以减少硬盘占用
# 脚本
import os
import shutil
from pydub import AudioSegment
original_folder = 'D:/src/' #原始音频文件夹
new_folder = 'D:/target/' #转换后的音频文件夹
# 要替换的字符串
#old_string = '.wav'
# 新的字符串
new_string = '.mp3'
bitrate = '320000' #需要是字符串
# 遍历文件夹中的所有文件
for filename in os.listdir(original_folder):
# 获取完整的路径
old_filepath = os.path.join(original_folder, filename)
# 检查文件名是否包含旧字符串
if '.wav' in filename:
# 构造新文件名
new_filename = filename.replace('.wav', new_string)
new_filepath = os.path.join(new_folder, new_filename)
# 转换格式
sound = AudioSegment.from_wav(old_filepath)
sound.export(new_filepath, format="mp3", bitrate=bitrate)
print(f'copied {old_filepath} to {new_filepath}')
elif '.flac' in filename:
# 构造新文件名
new_filename = filename.replace('.flac', new_string)
new_filepath = os.path.join(new_folder, new_filename)
# 转换格式
sound = AudioSegment.from_file(old_filepath)
sound.export(new_filepath, format="mp3", bitrate=bitrate)
print(f'copied {old_filepath} to {new_filepath}')
else:
shutil.copy(old_filepath, new_folder)
print("All files done.")
'''
bitrate = 192000 ## 128kbps、192kbps、256kbps和320kbps
mp3_file = "output.mp3"
audio.export(mp3_file, format="mp3", bitrate=bitrate)
'''