使用 sox 淡入淡出多个音频文件

使用 sox 淡入淡出多个音频文件

我正在尝试将几个音频文件以 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

我把所有文件放在同一个目录中,并使脚本可执行。对我来说,这很有效

相关内容