Melhor para você usar o ffmpeg.
ffmpeg -f concat -i <(printf "file '$PWD/%s'\n" ./*.wav) -c copy output.wav
Eu estou tentando mesclar uma pasta cheia de arquivos wav com o comando sox *.wav combined.wav
e estou recebendo este erro:
sox formats: no handler for detected file type 'inode/x-empty; charset=binary'
Pesquisei o erro no Google e não consegui encontrar nenhuma solução. Alguém pode descrever como corrigir esse erro ou quais sinalizadores adicionar ao sox
durante a execução do comando? Obrigado. Aqui estão os arquivos wav que estou tentando combinar:
10-51-52-0025.raw.wav 11-06-29-0030.raw.wav 11-16-29-0536.raw.wav
10-52-52-0062.raw.wav 11-07-29-0085.raw.wav 11-17-29-0749.raw.wav
10-58-28-0559.raw.wav 11-08-29-0135.raw.wav 11-18-29-0812.raw.wav
10-59-28-0655.raw.wav 11-09-29-0192.raw.wav 11-19-29-0909.raw.wav
11-00-28-0696.raw.wav 11-10-29-0242.raw.wav 11-27-07-0658.raw.wav
11-01-28-0744.raw.wav 11-11-29-0298.raw.wav 11-28-07-0731.raw.wav
11-02-28-0828.raw.wav 11-12-29-0348.raw.wav 11-29-07-0779.raw.wav
11-03-28-0876.raw.wav 11-13-29-0432.raw.wav 11-30-07-0834.raw.wav
11-04-28-0941.raw.wav 11-14-29-0483.raw.wav
11-05-28-0989.raw.wav 11-15-29-0508.raw.wav
Melhor para você usar o ffmpeg.
ffmpeg -f concat -i <(printf "file '$PWD/%s'\n" ./*.wav) -c copy output.wav
De link :
To determine the format of an input file, SoX will use, in order of precedence and as given or available:
- Command-line format options.
- The contents of the file header.
- The filename extension.
Então, se você tem certeza de que os arquivos são do formato WAVE, você pode tentar adicionar -t wav
:
sox -t wav *.wav combined.wav
Se os arquivos forem de fato de formato de arquivo simples ou se estiverem faltando informações como profundidade de bits ( -b
) e taxa ( -r
), você precisará fornecer esses parâmetros também. Mais informações sobre isso em Convertendo dados de áudio RAW em WAV com scripts .