最近想到用python 寫一個程式來批次調整MP3
主要是做到以下這些事情
1. 移除最前面一秒鐘
2. 整體聲音均化
3. 頭尾淡出淡入3秒
4. 音量平衡到90dB
5. 壓縮mp3到 192kbs
6. 另存新檔
程式碼主要是用 GPT 產生
但是!!!!
用 pydub 套件要注意必須執行時候有安裝 ffmpeg 或者 在程式中有指定 path 到ffmpeg的資料夾
才能正常運作喔~~~
以下給各位參考喔~
import os
os.environ["PATH"] += os.pathsep + "C:\\Users\\ZOEARTH\\Desktop\\TO_NAS\\ffmpeg\\bin"
import pydub
from pydub import AudioSegment, effects
def process_mp3(input_folder, output_folder):
if not os.path.exists(output_folder):
os.makedirs(output_folder)
for file_name in os.listdir(input_folder):
if file_name.endswith(".mp3"):
input_path = os.path.join(input_folder, file_name)
output_path = os.path.join(output_folder, file_name)
# 讀取音訊
print("input_path = ", input_path)
audio = AudioSegment.from_mp3(input_path)
# 移除前1秒
audio = audio[1000:]
# 聲音均化
audio = effects.normalize(audio)
# 頭尾淡入淡出 3 秒
audio = audio.fade_in(3000).fade_out(3000)
# 設定音量為 90dB
target_dBFS = -3.0 # 90dB 參考值 (-3dBFS)
change_in_dBFS = target_dBFS - audio.dBFS
audio = audio.apply_gain(change_in_dBFS)
# 另存新檔,壓縮為 192kbps MP3
audio.export(output_path, format="mp3", bitrate="192k")
print(f"Processed: {file_name}")
# 設定輸入與輸出資料夾
input_folder = "input_mp3"
output_folder = "output_mp3"
process_mp3(input_folder, output_folder)
雖然感覺好像可以
但是壓縮出來的音質好像變胖然後也沒有比較好
有點可惜
因為有些MP3是高壓縮的
特別指定之後反而變胖了![]()

留言板
歡迎留下建議與分享!希望一起交流!感恩!