使用 Pydub 设置相对于另一个音频文件的 rms
Setting rms relative to another audio file using Pydub
我正在尝试在 Pydub 中设置 AudioSegment 相对于另一个文件的均方根电平,然后再将两者叠加。我尝试使用的方法涉及将第一个文件的相对 rms 设置为比第二个文件强 +4 dB - 我知道 rms 不可修改,但 dBFS 是。我正在尝试使用 apply_gain()
修改它,但是打印 rms 和 dBFS 在调用该方法之前和之后没有显示任何差异。
目前,我的代码如下所示:
if segmentOne.dBFS > segmentTwo.dBFS:
gain = segmentOne.dBFS - segmentTwo.dBFS
segmentTwo.apply_gain(gain)
elif segmentOne.dBFS < segmentTwo.dBFS:
gain = segmentTwo.dBFS - segmentOne.dBFS
segmentOne.apply_gain(gain)
segmentOne.apply_gain(6)
segmentOne = segmentOne.overlay(segmentTwo)
我对音频不是很有经验(一点也不),所以可能是我遗漏了一些明显的东西。有没有一种方法可以使用 Pydub 来完成我需要的事情?
我understand那个apply_gain
returns音频片段的修改副本。
所以你可能必须这样做:
segmentTwo = segmentTwo.apply_gain(gain)
我正在尝试在 Pydub 中设置 AudioSegment 相对于另一个文件的均方根电平,然后再将两者叠加。我尝试使用的方法涉及将第一个文件的相对 rms 设置为比第二个文件强 +4 dB - 我知道 rms 不可修改,但 dBFS 是。我正在尝试使用 apply_gain()
修改它,但是打印 rms 和 dBFS 在调用该方法之前和之后没有显示任何差异。
目前,我的代码如下所示:
if segmentOne.dBFS > segmentTwo.dBFS:
gain = segmentOne.dBFS - segmentTwo.dBFS
segmentTwo.apply_gain(gain)
elif segmentOne.dBFS < segmentTwo.dBFS:
gain = segmentTwo.dBFS - segmentOne.dBFS
segmentOne.apply_gain(gain)
segmentOne.apply_gain(6)
segmentOne = segmentOne.overlay(segmentTwo)
我对音频不是很有经验(一点也不),所以可能是我遗漏了一些明显的东西。有没有一种方法可以使用 Pydub 来完成我需要的事情?
我understand那个apply_gain
returns音频片段的修改副本。
所以你可能必须这样做:
segmentTwo = segmentTwo.apply_gain(gain)