如何在python中规范化音频文件的音量:当前可用的任何包?

我有一堆AAC(.m4a)音频文件需要规范化,并希望找到一种方法来使用一些简单的
python脚本来完成它.我在超级用户上找到了
this thread,其中有人在python中编写了一个ffmpeg命令行实用程序,它运行良好,但是想知道是否有一些当前可用的包具有pip安装,可以完成任务. 最佳答案 您可以使用
pydub模块以最少的代码实现峰值量的标准化.

使用安装pydub

pip install pydub

here开始的灵感

您可以测量pydub中的rms,它是平均幅度的度量,pydub提供为audio_segment.rms.它还提供了一种将值转换为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")
点赞