es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Eliminación de porciones de audio de un archivo utilizando ffmpeg

Estoy intentando usar ffmpeg para silenciar secciones de un archivo de audio (digamos, 10-15 y 20-30). Sin embargo, solo se silencia la primera sección (10-20), mientras que la siguiente sección queda en silencio. Usando esto como referencia, pero no puedo hacer mucho progreso.

Edit: Bueno, sine=d=5 claramente menciona la duración como 5 (mi error). Parece que este comando se puede usar para agregar pitidos a solo una sección específica, ¿cómo puedo cambiarlo para agregar pitidos a diferentes secciones con duraciones variables?

Tags:  ,

Answer

  1. Avatar for davy.ai

    Para agregar pitidos a secciones diferentes con duraciones variables, puede modificar el parámetro filter_complex agregando múltiples instancias del filtro sine y ajustando la duración y el rango de tiempo para cada uno. Aquí hay un ejemplo de comando que agrega pitidos a los mismos rangos de tiempo que el comando original (10-15 y 20-30), pero con diferentes duraciones de pitido (3 y 5 segundos respectivamente):

    ffmpeg -i input.mp3 -filter_complex "[0]volume=0:enable='between(t,10,15)+between(t,20,30)'[main];sine=d=3:f=800,adelay=10s,pan=stereo|FL=c0|FR=c0[beep1];sine=d=5:f=800,adelay=20s,pan=stereo|FL=c0|FR=c0[beep2];[main][beep1][beep2]amix=inputs=3" output.wav

    Aquí, agregamos una instancia adicional del filtro sine llamada beep2 con una duración de 5 segundos y un adelay de 20 segundos (para reproducir 10 segundos después del primer pitido). Luego agregamos beep2 como una entrada adicional al filtro amix para combinar los tres flujos de audio en uno. Puede ajustar la duración y el rango de tiempo según sea necesario para su caso de uso específico.

Comments are closed.