gpt4 book ai didi

python - pydub可以设置最大/最小音量吗?

转载 作者:太空宇宙 更新时间:2023-11-03 17:15:10 25 4
gpt4 key购买 nike

如标题,我可以设置一个最大/最小音量的值,即输出音频文件不会太大或太小吗? (不是标准化,我只是想将具体音量调整到正常,如下图。)

enter image description here

最佳答案

Loudness有点复杂 - 一个简单的解决方案是使用一种更简单的方法(例如 dBFS)进行测量,并将所有音频的增益设置为匹配。

sounds = [audio_segment1, audio_segment2, audio_segment3, audio_segment4]

def set_loudness(sound, target_dBFS):
loudness_difference = target_dBFS - sound.dBFS
return sound.apply_gain(loudness_difference)

# -20dBFS is relatively quiet, but very likely to be enough headroom
same_loudness_sounds = [
set_loudness(sound, target_dBFS=-20)
for sound in sounds
]

一个复杂的因素是,您的某些声音可能有较长的静音部分,甚至只是非常安静的部分。这会拉低平均值,并且您可能必须编写更复杂的响度测量。同样,有一种简单的方法,您可以将声音切成更短的片段,然后简单地使用最响亮的片段,假设您的整个声音长 15 分钟,我们可以采用 1 分钟的片段:

from pydub.utils import make_chunks

def get_loudness(sound, slice_size=60*1000):
return max(chunk.dBFS for chunk in make_chunks(sound, slice_size))


# ...and replace set_loudness() in above example with…
def set_loudness(sound, target_dBFS):
loudness_difference = target_dBFS - get_loudness(sound)
return sound.apply_gain(loudness_difference)

关于python - pydub可以设置最大/最小音量吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33720395/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com