Para todos os arquivos .wav na pasta sox-14-4-2, preciso remover o silêncio no início, copiar o resultado em uma subpasta existente Output , depois reverter o arquivo, remover o silêncio novamente e, finalmente, reverter novamente.
A primeira tarefa de remoção de silêncio não é problemática:
FOR %%A IN (*.wav) do (
sox %%A "Output\%%~nxa" silence 1 0.1 1%
)
De alguma forma, não consigo imaginar como executar mais 3 comandos sox um por um para cada arquivo .wav na pasta de saída depois disso?
FOR %%A IN ("Output\sample1.wav") DO (
sox %%A "Output\%%~nxa.wav" reverse
)
Aqui para o segundo comando sox reverse , um problema geral é que eu não sei como aplicar isso a todos os arquivos .wav na pasta Output ?
FOR %%A ("Output\*.wav")
está errado
O segundo problema específico do SoX aqui é que não posso usar o mesmo nome - não posso usar %%~nxa , em vez disso, preciso criar um novo arquivo com um novo nome ou a saída será quebrada com EOF prematuro na saída .wav arquivo na pasta de saída e ele se tornará 80 bytes.
Como resolvo isso e aplico 4 comandos SoX em ordem em todos os arquivos .wav?
Os arquivos .wav finalizados devem estar localizados em uma subpasta Saída após todas as tarefas serem feitas com o nome do arquivo de entrada original, também mantenha todos os arquivos de entrada na pasta acima.
Parece que o SoX requer algum tratamento especial quando funciona com arquivos descompactados.
Ao gravar a saída, o SoX precisa que o arquivo de entrada descompactado ainda esteja aberto, portanto, forçar a substituição neste caso sempre causará um erro de EOF prematuro no arquivo de saída .wav .