modificar - ¿Cómo se recorta el final del archivo de audio usando SoX?
editor de audio (3)
El comando anterior está mal, solo obtendrá los últimos 5 segundos. Realmente necesitas usar:
sox input output reverse trim 5 reverse
que cortará 5 segundos desde el final del archivo.
Usando Sox, ¿cómo acorto un archivo de audio en 5 segundos, recortando desde el final?
Por ejemplo, esta es la forma de recortar un archivo desde el principio:
sox input output trim 5000
Así es como agregar 5 segundos de silencio al final:
sox input output pad 0 5000
La sintaxis es sox input output trim <start> <duration>
por ejemplo sox input.wav output.wav trim 0 00:35
dará salida a los primeros 35 segundos en output.wav
.
(usted puede saber cuál es la longitud usando sox input -n stat
)
De la documentación de SoX en el comando de trim
:
Corta porciones del audio. Se puede dar cualquier cantidad de posiciones ; el audio no se envía a la salida hasta que se alcanza la primera posición . El efecto alterna entre copiar y descartar el audio en cada posición . Usar un valor de 0 para el primer parámetro de posición permite copiar desde el comienzo del audio.
Por ejemplo,
sox infile outfile trim 0 10
copiará los primeros diez segundos, mientras
play infile trim 12:34 =15:00 -2:00
y
play infile trim 12:34 2:26 -2:00
Ambos reproducirán entre 12 minutos y 34 segundos en el audio hasta 15 minutos en el audio (es decir, 2 minutos y 26 segundos), luego reanudarán la reproducción dos minutos antes del final del audio.
Por el comentario de dpwe , los valores de posición se interpretan como relativos a la posición anterior, a menos que comiencen con =
(en cuyo caso son relativos al inicio del archivo) o -
(en cuyo caso son relativos al final del archivo).
Por lo tanto, recortar cinco segundos del final sería sox input output trim 0 -5
Soy nuevo en SoX, pero me he dado cuenta de que esta página aparece con frecuencia en los resultados de búsqueda de recorte de audio y será visto por muchos tratando de hacer cosas similares.
Como tal, quería proporcionar lo que personalmente considero la mejor solución.
Experimenté el mismo ''clic'' al final del archivo que John Smith Opcional había mencionado. Esto sugirió un breve fundido de salida que podría eliminar cualquier artefacto glitching a medida que el audio finaliza y, por supuesto, funciona. Es la aceptación de un valor negativo para el parámetro de posición de fadeout para indicar el tiempo antes de que el final del audio sea la clave.
Así que no puedo ver una mejor manera de lograr el objetivo del PO que esto:
sox full_length.wav trimmed.wav fade 0 -5 0.01
El parámetro 1 es ''0'' por lo que no hay fundido de entrada. El parámetro 2 elimina los últimos 5 segundos. El parámetro 3 usa un desvanecimiento de 10 ms.