混合音频文件在 python 上进行剪辑

Mix audio files make clipping on python

我有一些音频文件。

我混合了音频文件。

for idx,f in enumerate(files):
    if idx == 0:
        sound = pydub.AudioSegment.from_file(f)
    else: 
        temp = pydub.AudioSegment.from_file(f)
        sound = sound.overlay(temp, position=0)
  
    sound.export("totakmix.wav",format="wav")
    

每个音频文件都没有剪辑。

但是,混合文件正在剪辑。

有什么办法可以避免这种情况吗?

在使用 overlay 时防止削波最简单的方法是使用 gain_during_overlay 应用负增益校正,如下所示:

sound = sound.overlay(temp, position=0, gain_during_overlay=-3)

在叠加音频时将音频更改 3 dB。为什么是 3 分贝?它转化为大约两倍的功率增益,因此如果您的原始音频没有削波,最终结果也不应该。