Перекрестное затухание нескольких аудиофайлов с помощью 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

Я нашел этот вопрос переполнения стека, но ответ не работает для меня.

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

У меня были все файлы в одном каталоге и я сделал исполняемые скрипты. У меня сработало

Другие вопросы по тегам