Como gravar 10 segundos de áudio com SoX?

Como gravar 10 segundos de áudio com SoX?

Quero gravar 10 segundos de áudio da entrada do meu microfone comSoX. Não encontrei nenhum exemplo na documentação ou em outro lugar que mostre como fazer isso. Aqui está meu comando atual timeoutpara interromper a gravação. Existe uma maneira melhor de fazer isso?

timeout 10 sox -b 32 -e unsigned-integer -r 96k -c 2 -d --clobber --buffer $((96000*2*10)) /tmp/soxrecording.wav

Responder1

Um pouco tarde, mas se alguém tiver a mesma dúvida, você terá que usar o "efeito" de corte para gravar uma duração definida de áudio.

Portanto, para gravar 10 segundos de áudio, basta acrescentar trim 0 10 no final do seu comando, por exemplo,

$ sox -b 32 -e unsigned-integer -r 96k -c 2 -d --clobber --buffer $((96000*2*10)) /tmp/soxrecording.wav trim 0 10

Do SoXhomem:

cortar {posição(+)}

Corta partes do áudio. Qualquer número de cargos pode ser concedido; o áudio não é enviado para a saída até que a primeira posição seja alcançada. O efeito então alterna entre copiar e descartar o áudio em cada posição. Usar um valor 0 para o parâmetro da primeira posição permite copiar desde o início do áudio.

informação relacionada