Dividir grande quantidade de arquivos wav em pequenas partes

1

Eu tenho uma grande quantidade de arquivos WAV (mais de 50.000) e eu preciso dividir cada arquivo wav em partes de 10 segundos. É quase impossível fazê-lo um por um, então minha pergunta é: existe alguma maneira de fazer isso no ffmpeg ou, por exemplo, no sox? Sou amador, então preciso de instruções exatas

    
por Taron 11.01.2017 / 09:48

1 resposta

2

Isso é mencionado como um exemplo em man sox :

split the input file into multiple files of 30 seconds in length. Each output filename will have unique number in its name as documented in the Output Files section.

sox infile.wav output.wav trim 0 30 : newfile : restart

Portanto, supondo que seus arquivos wav estejam no diretório ~/myfiles e você queira criar as versões divididas em ~/split , você pode fazer

mkdir ~/split
cd ~/myfiles
find . -name '*.wav' \
 -exec sh -c 'mkdir -p ~/split/$(dirname "{}")' \; \
 -exec sox {} ~/split/{}  trim 0 10 : newfile : restart \;
    
por 11.01.2017 / 10:41