正規化する必要のあるAAC(.m4a
)オーディオファイルがたくさんあり、いくつかのパッケージを使用して単純なpythonスクリプトでそれを行う方法を見つけたいと思っていました。I見つかった このスレッド 誰かがPythonでffmpeg
コマンドラインユーティリティを書いたスーパーユーザーで、それはうまく機能しますが、現在利用可能なものがあるかどうか疑問に思っていましたパッケージとpip install
は、タスク次第です。
pydub モジュールを使用して、最小限のコードでピークボリュームの正規化を実現できます。を使用してpydub
をインストールします
pip install pydub
ここ からのインスピレーション
Rmsは、pydubがaudio_segment.rmsとして提供する平均振幅の測定値であるpydub
で測定できます。また、値をdBFS(audio_segment.dBFS)に変換する便利な方法も提供します。
オーディオファイルを同じ平均振幅にしたい場合は、基本的に平均振幅(dBFSで、以下の例では-20)を選択し、必要に応じて調整します。
from pydub import AudioSegment
def match_target_amplitude(sound, target_dBFS):
change_in_dBFS = target_dBFS - sound.dBFS
return sound.apply_gain(change_in_dBFS)
sound = AudioSegment.from_file("yourAudio.m4a", "m4a")
normalized_sound = match_target_amplitude(sound, -20.0)
normalized_sound.export("nomrmalizedAudio.m4a", format="mp4")
from pydub import AudioSegment, effects
rawsound = AudioSegment.from_file("./input.m4a", "m4a")
normalizedsound = effects.normalize(rawsound)
normalizedsound.export("./output.wav", format="wav")
前:
後: