Cross desvanecendo vários arquivos de áudio usando o sox

0

Estou tentando reproduzir vários arquivos de áudio juntos com um desvanecimento cruzado de 3 segundos e juntá-los em um arquivo com o sox.

Eu posso juntar vários arquivos juntos pelo comando abaixo, mas não sei como atravessar o fade entre cada um:

sox $(ls /tmp/a*.wav | sort -n) /tmp/out/out.wav

Eu posso cruzar o fade de dois arquivos com os comandos abaixo, mas não tenho certeza de como combinar a primeira linha que une vários arquivos junto com a segunda linha que emendas / cross fades

sox 100hz.wav 440hz.wav out.wav splice $(soxi -D 100hz.wav),3

Eu encontrei esta pergunta de estouro de pilha , mas a resposta não funciona para mim.

    
por Rick T 22.02.2015 / 17:50

1 resposta

1

Isso pode ser feito usando um script crossfade_cat.sh como aprendi em esta resposta por Frank Zalcow no estouro de pilha.

Estou usando este script (fornecido na resposta) para chamá-lo

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

Eu tinha todos os arquivos no mesmo diretório e tornei os scripts executáveis. Funcionou para mim

    
por Rick T 23.02.2015 / 17:36