sox.exe的所有组合方法我都试过了,包括sequence、mix、merge、multiply等等。
我无法将单声道音轨与立体声音乐音轨混合,并将单声道音轨置于混音的中心。
使用音频文件在混音/弹跳中同时播放的任何方法都会将单声道音轨拍打到左声道。我希望它很好地融入其中,但不知道如何让它发挥作用。
任何帮助将不胜感激。它在批处理脚本中使用,并且必须是一个无需用户干预即可运行的命令,即时指定内容:2+ 个文件,全部一起播放,保持立体声和单声道原样,输出一个文件。
将人声轨道放在中心意味着以相同的音量将其添加到两个通道。你可以这样做:
sox -M stereo.wav vocal.wav result.wav remix -m 1,3 2,3
在这里,-M
(或--combine=merge
)告诉 SoX 合并所有输入文件的所有通道。来自的立体声通道stereo.wav
将成为通道 1 和 2,来自vocal.wav
通道 3 的单声道通道。然后,remix
效果允许以不同的方式混合它们。与标准的组合方法相比,它可以更好地控制过程。
这里,1,3
将第一个输出通道描述为通道 1 和通道 3 的总和(混合),即原始左音乐通道和人声轨道。因此,2,3
对于第二输出声道,意味着右音乐声道和人声轨道的总和。
可能会出现削波,或者与背景音乐相比,人声轨道太大或太软。如果发生这种情况,可以通过添加通道修改器来纠正这种情况p-5
(将音量降低 5 dB):
remix -m 1p-5,3 2p-5,3
如果相对音量正常但发生削波,则自动缩放选项之一可能也足以解决它(remix -a 1,3 2,3
或remix -p 1,3 2,3
)。
这适用于已知数量的输入文件,您知道哪个是哪个。为了自动处理任意数量的单声道/立体声输入文件,需要一些脚本来区分单声道和立体声文件并构造适当的 SoX 调用。
您可以使用音频库将单声道人声转换为立体声SOX
,之后您可以将其与立体声音乐混合,没有任何问题。
以下示例将单声道音频文件转换为立体声。使用选项-c
指定通道数。
$ sox mono.wav -c 2 stereo.wav
来源:http ://www.thegeekstuff.com/2009/05/sound-exchange-sox-15-examples-to-manipulate-audio-files/