audio - Pydub 混合 2 种不同能量级别的声音

标签 audio overlay pydub

我使用 Pydub 库。
我想混合 2 种不同分贝级别的声音,其中包含 dB 数据(不同的能量级别)。比如我有两个物种的声音。

sound1 = AudioSegment.from_file("species_a.wav")

sound2 = AudioSegment.from_file("species_b.wav")

combined = sound1.overlay(sound2)

例如,我希望在我的新声音“组合”中,物种“a”比物种“b”说话。

使用不同的能量级别(-18 dB、-12 dB、-6dB、- 0dB)执行此操作。

有可能的 ?

谢谢 !

最佳答案

您可以将它们标准化(未经测试的代码,但它可能有效)

def set_to_target_level(sound, target_level):
    difference = target_level - sound.dBFS
    return sound.apply_gain(difference)

sound1_adjusted = set_to_target_level(sound1, -12.0)
sound2_adjusted = set_to_target_level(sound2, -12.0)

combined = sound1_adjusted.overlay(sound2_adjusted)

关于audio - Pydub 混合 2 种不同能量级别的声音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49368287/

相关文章:

c - 最简单快速的音频事件检测方法?

r - 在R中的ggmap中的geom_polygon数据上绘制文本标签

python - 拆分/加入 mp3 时 pydub 音频故障

python - 在具有不同开始和结束持续时间的python中拆分wav文件

java - Android 中的 Archos 5 IT 音频路径

objective-c - 还有其他方法可以在iOS游戏开发中播放背景音乐吗?

android - 如何淡出场景之间的音频/音乐?

java - Android,将覆盖图标添加到 onLocationChange 导致崩溃

android - Google Android map 上的不同命名标记

python - 当我尝试导出 Mp3 的一部分时,pydub 返回零字节文件