使用 sox 交叉淡化多个音频文件
Cross fading several audio files using sox
我正在尝试将多个音频文件与 3 秒交叉淡入淡出一起交叉淡入淡出,然后使用 sox 将它们合并到一个文件中。
我可以通过下面的命令将多个文件连接在一起,但不确定如何在每个文件之间交叉淡入淡出:
sox $(ls /tmp/a*.wav | sort -n) /tmp/out/out.wav
我可以使用以下命令交叉淡入淡出两个文件,但不确定如何将连接多个文件的第一行与拼接/交叉淡入淡出的第二行组合在一起[=13=]
sox 100hz.wav 440hz.wav out.wav splice $(soxi -D 100hz.wav),3
我找到了这个问题,但答案对我不起作用。
crossfading a group of audio files with sox splice
不知道大家是否知道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
我正在尝试将多个音频文件与 3 秒交叉淡入淡出一起交叉淡入淡出,然后使用 sox 将它们合并到一个文件中。
我可以通过下面的命令将多个文件连接在一起,但不确定如何在每个文件之间交叉淡入淡出:
sox $(ls /tmp/a*.wav | sort -n) /tmp/out/out.wav
我可以使用以下命令交叉淡入淡出两个文件,但不确定如何将连接多个文件的第一行与拼接/交叉淡入淡出的第二行组合在一起[=13=]
sox 100hz.wav 440hz.wav out.wav splice $(soxi -D 100hz.wav),3
我找到了这个问题,但答案对我不起作用。 crossfading a group of audio files with sox splice
不知道大家是否知道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