¿Cómo grabar 10 segundos de audio con SoX?

¿Cómo grabar 10 segundos de audio con SoX?

Quiero grabar 10 segundos de audio desde la entrada de mi micrófono conSoX. No he encontrado ningún ejemplo en la documentación ni en ningún otro lugar que muestre cómo hacerlo. Aquí está mi comando actual timeoutpara detener la grabación. Hay una mejor manera de hacerlo?

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

Respuesta1

Un poco tarde, pero si alguien tuvo la misma pregunta, debe usar el "efecto" de recorte para grabar una duración determinada de audio.

Entonces, para grabar 10 segundos de audio, simplemente agregue trim 0 10 al final de su comando, por ejemplo,

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

De los SoXhombre:

recortar {posición(+)}

Corta partes del audio. Se podrá dar cualquier número de posiciones; el audio no se envía a la salida hasta que se alcanza la primera posición. Luego, el efecto alterna entre copiar y descartar audio en cada posición. Usar un valor de 0 para el parámetro de la primera posición permite copiar desde el principio del audio.

información relacionada