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