Elimine el silencio de los archivos de audio dejando huecos

16

Actualmente estamos usando este comando dentro de un script de shell para eliminar el silencio de los archivos de audio:

ffmpeg -i $INFILE -af silenceremove=0:0:0:-1:1:${NOISE_TOLERANCE}dB -ac 1 $SILENCED_FILE -y

Esto funciona bien, excepto que elimina todo el silencio, lo que hace que el audio restante se junte.

¿Cómo se puede hacer esto dejando dos o tres segundos entre cada pieza de audio?

La solución debe ser muy eficiente, ya que procesaremos mucho audio y deberíamos usar una herramienta que se pueda instalar con bastante facilidad tanto en Linux como en OSX, como ffmpeg o sox.

Nathan ReinstateMonica Arthur
fuente

Respuestas:

25

La mejor manera que he visto es agregando la -lbandera al silencio de la siguiente manera:

sox in.wav out6.wav silence -l 1 0.1 1% -1 2.0 1%

Copié este comando del Ejemplo 6 de esta publicación de blog muy útil llamada The Sox of Silence

Ben T
fuente
Probado, y hace exactamente lo que necesito. ¡Gracias!
Nathan ReinstateMonica Arthur
Finalmente una solución sobre cómo funciona. Gracias.
vr_driver
Me gustaría hacer esto para un video y recortar el silencio. ¿Funcionará SoX? ¿Cuál es la mejor alternativa?
zero_cool