SoX如何使混合不减少体积

SoX如何使混合不减少体积,sox,Sox,当我混合四首曲目时,声音会降低很多,我尝试了混音和混音。 如何使音量保持不变 我在“sox--combine mix power”之后尝试了-M,但结束文件的长度为0秒 如何使音量保持不变 简短回答 你不能,你只能得到估计的相似性。估计可能来自在收听最终结果时调整增益,或者可能基于输出的RMS水平调整增益 如果你很幸运,可能不会导致任何剪辑,并给你一个合理的结果 更长的答案 混合轨迹时,它们基本上是相互添加的。这意味着很容易超过样本可以拥有的最大值,从而导致剪裁。为避免此问题,sox在添加前将每

当我混合四首曲目时,声音会降低很多,我尝试了混音和混音。 如何使音量保持不变

我在“sox--combine mix power”之后尝试了
-M,但结束文件的长度为0秒

如何使音量保持不变

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

如果你很幸运,可能不会导致任何剪辑,并给你一个合理的结果

更长的答案 混合轨迹时,它们基本上是相互添加的。这意味着很容易超过样本可以拥有的最大值,从而导致剪裁。为避免此问题,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
将增益添加到最终结果中

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
现在使用
增益
效果添加增益,除了规格化标志(
-n
)之外,它还接受dB值,例如添加6 dB增益:

sox out.wav out-with-gain.wav gain +6
您可以使用
播放(1)
或将输出文件设置为
-d
,收听结果,例如:

play out.wav gain +6
或:


只需在每个输入文件之前添加-v1,如下所示:-v1 file.wav

Gain-n正常化。这不是问题所在。这进一步增加了混淆,因为您将“n”称为输入文件的数量。如果人们用输入文件的数量来代替n,他们只会进一步减少音量。@Albin:在再次阅读了问题和我的答案后,我明白你的意思了。我试图消除这种混乱,并添加了一些处理文件混合和音量调整的替代方法。这是非常好的!也许是
增益-l+6
<代码>-l
应用限制器以避免剪裁。我曾经认为gain暗中做了这件事,但它似乎不符合手册。还是我看错了?@Albin:根据剪辑的程度,
-l
可能会导致不必要的失真,所以我会小心地推荐它作为一种通用解决方案。