我正在尝试将几个音频文件以 3 秒的淡入淡出效果混合在一起,然后使用 sox 将它们合并为一个文件。
我可以通过下面的命令将多个文件合并在一起,但不确定如何在每个文件之间进行淡入淡出:
sox $(ls /tmp/a*.wav | sort -n) /tmp/out/out.wav
我可以使用下面的命令淡入淡出两个文件,但不知道如何将连接多个文件的第一行与拼接/淡入淡出的第二行合并在一起
sox 100hz.wav 440hz.wav out.wav splice $(soxi -D 100hz.wav),3
我找到了这个Stack Overflow 问题但答案对我来说不起作用。
答案1
这可以使用脚本完成crossfade_cat.sh正如我所学到的这个答案经过弗兰克·扎尔科在 Stack Overflow 上。
我正在使用这个脚本(在答案中给出)来调用它
crossfade_dur=1
i=0
for file in *.wav
do
i=$((i+1))
if [ $i -eq 1 ]
then
cp $file mix.wav
else
crossfade_cat.sh $crossfade_dur mix.wav $file auto auto
fi
done
我把所有文件放在同一个目录中,并使脚本可执行。对我来说,这很有效