bash - 使用 sox 交叉淡化多个音频文件

标签 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

最佳答案

不知道你是否知道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

关于bash - 使用 sox 交叉淡化多个音频文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28652490/

相关文章:

linux - Bash 替换文件中的文本

ios - 如何使用 CoreAudio 的 AudioConverter 实时编码 AAC?

audio - 捕获和验证音频,作为测试自动化的一部分

ios - 删除 AVAudioSessionPortBuiltInMic 作为选项

bash - 使用文件夹中最新的 7 倍更新 JPG 制作 gif(每周延时拍摄!)

bash - 并行计算日志,如何防止交错写入? lockfile 还是 flock?

bash - 计算 Bash Shell 中每列的行数

linux - 如何使用 bash 命令将文件中的多列合并为一列?

shell - 在 POSIX sh 中迭代字符串中的字符

bash - sh:测试文件是否存在