当我混合四个音轨时,声音会下降很多,我尝试过 mix-volume 和 mix。我怎么做才能使音量不变?
我试过-M after "sox --combine mix-power"
了,但最终文件的长度为 0 秒。
当我混合四个音轨时,声音会下降很多,我尝试过 mix-volume 和 mix。我怎么做才能使音量不变?
我试过-M after "sox --combine mix-power"
了,但最终文件的长度为 0 秒。
只需在每个输入文件之前添加 -v 1 - 就像这样: -v 1 file.wav
我怎么做才能使音量不变?
你不能,你只能得到估计的相似度。估计可能来自在收听最终结果时调整增益,也可能来自根据输出的 RMS 电平调整增益。
如果你很幸运,@Yuki 的回答可能不会导致任何剪辑并给你一个合理的结果。
当您混合曲目时,它们基本上是相互添加的。这意味着很容易超过样本可以具有的最大值,从而导致削波。为了避免这个问题sox
,在添加之前将每个轨道除以轨道总数
假设您有 4 个名为1.wav
、和的文件2.wav
,这里有几种实现合理结果的简单方法(取决于您的情况):3.wav
4.wav
在混合之前标准化每个文件
sox --combine mix "|sox 1.wav -p gain -n" \
"|sox 2.wav -p gain -n" \
"|sox 3.wav -p gain -n" \
"|sox 4.wav -p gain -n" \
out.wav
标准化最终结果
sox --combine mix 1.wav 2.wav 3.wav 4.wav out.wav gain -n
为最终结果增加增益
sox --combine mix 1.wav 2.wav 3.wav 4.wav out.wav
现在添加带有gain
效果的增益,除了 normalize-flag ( -n
) 它还接受 dB 值,例如添加 6 dB 增益:
sox out.wav out-with-gain.wav gain +6
play(1)
您可以使用或通过将输出文件设置为来收听结果-d
,例如:
play out.wav gain +6
或者:
sox out.wav -d gain +6