使用sox交叉淡化几个音频文件

时间:2015-02-21 23:11:20

标签: bash audio sh sox cross-fade

我试图将几个音频文件与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

我发现了这个问题,但答案对我不起作用。 crossfading a group of audio files with sox splice

1 个答案:

答案 0 :(得分:3)

我不知道您是否了解crossfade_cat.sh脚本offered by sox。您可以连续使用它:

./crossfade_cat.sh 1 440.wav 660.wav auto auto && ./crossfade_cat.sh 1 mix.wav 880.wav auto auto

或者如果你想交叉淡化大量的wav文件,要使用目录中的所有文件,你可以使用shell循环,如下所示:

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