0

这是在与另一条轨道混合时填充轨道的解决方案。

Sox : 用 pad 合并两个音频文件

$ sox short.ogg -p pad 6 0 | sox - -m long.ogg output.ogg

如何使用此命令混合多个音轨?

例如

audio1.wav(无 pad) audio2.wav(2s pad) audio3.wav(2s pad) audio4.wav(3s pad)

4

1 回答 1

0

pad 6 0前置 6 并附加 0 秒的静音,所以我假设您只想添加静音。

您可以使用while循环执行此操作,例如bash

cat <<EOF > infile
audio1.wav 0
audio2.wav 2
audio3.wav 2
audio4.wav 4
EOF

while read fname len; do
  sox $fname -p pad $len 0 | sox -m -p long.wav output.wav
done < infile

我建议在您完成处理之前保持文件未压缩。

混合时要小心削波,避免削波的一种方法是-6dB对两个信号都应用增益并在之后进行归一化,例如:

  sox $fname -p pad $len 0 gain -6 | sox -m -p "| sox long.wav -p gain -6" output.wav gain -n
于 2012-09-07T14:00:46.577 回答