Como gravar 10 segundos de áudio com o SoX?

4

Eu quero gravar 10 segundos de áudio da minha entrada de microfone com o SoX . Não encontrei nenhum exemplo na documentação ou em outro lugar que mostre como fazer isso. Aqui está o meu comando atual usando timeout para parar 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
    
por shrx 15.03.2015 / 19:31

1 resposta

11

Um pouco atrasado, mas se alguém tiver a mesma pergunta, você precisa usar o "efeito" de recorte para gravar uma duração de áudio definida.

Então, para gravar 10 segundos de áudio, basta anexar o ajuste 0 a 10 no final do 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 SoX homem :

trim {position(+)}

Cuts portions out of the audio. Any number of positions may be given; audio is not sent to the output until the first position is reached. The effect then alternates between copying and discarding audio at each position. Using a value of 0 for the first position parameter allows copying from the beginning of the audio.

    
por 19.04.2016 / 22:10