コガネブログ

平日更新を目標に Unity や C#、Visual Studio、ReSharper などのゲーム開発アレコレを書いていきます

【Python】指定した .mp3 の音量を ffmpeg で正規化する

ソースコード

import os
from pathlib import Path

def normalize_audio_folder(folder_path):
    # フォルダ内のすべてのファイルとサブフォルダを再帰的に取得します
    for root, _, files in os.walk(folder_path):
        for file in files:
            if file.endswith(".mp3"):
                # ファイルのパスを作成します
                file_path = os.path.join(root, file)
                
                # 音量を正規化します
                normalize_audio(file_path)

def normalize_audio(input_file):
    # 出力ファイル名を生成します
    output_file = os.path.splitext(input_file)[0] + "_normalized.mp3"
    
    # ffmpegを使用して音量を正規化します
    os.system(f"ffmpeg -i \"{input_file}\" -filter:a loudnorm=I=-16:LRA=11:tp=-1.5 -ar 44100 -q:a 2 -y \"{output_file}\"")

    # 入力ファイルを削除します
    os.remove(input_file)
    
    # 出力ファイルをリネームします
    os.rename(output_file, input_file)

使用例

normalize_audio_folder("【フォルダのパス】")