SoX如何进行混音而不降低音量

时间:2012-09-24 12:21:05

标签: sox

当我混合四首曲目时,声音会减少很多,我尝试过混音和混音。 我该怎么做才能让音量不变?

我尝试-M after "sox --combine mix-power",但结束文件是0秒。

2 个答案:

答案 0 :(得分:7)

在每个输入文件之前添加-v 1 - 如下所示:-v 1 file.wav

答案 1 :(得分:4)

  

如何制作音量不会改变?

简短回答

你不能,你只能得到估计的相似性。估计可能来自于在收听最终结果时调整增益,或者可能根据输出的RMS水平调整增益。

如果你很幸运@Yuki's answer可能不会导致任何裁剪并给你一个合理的结果。

更长的答案

当您混合曲目时,它们基本上相互添加。这意味着很容易超过样本可能具有的最大值,从而导致削波。为避免此问题,sox在添加

之前将每个曲目与曲目总数相除

假设您有4个名为1.wav2.wav3.wav4.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