Me gustaría generar un archivo de audio con una onda sinusoidal (sinusoide) con FFmpeg. Sé que hay un sine
filtro, pero eso es todo.
Lo intenté:
fmpeg -filter "sine=48:1:5" -c:a pcms16le test
para crear 5 segundos de audio a 48kHz en formato PCM S16LE, pero recibí el siguiente mensaje de error:
El archivo de salida n.º 0 no contiene ninguna secuencia
y el test
archivo está vacío.
Respuesta1
Para generar una señal de 1000 Hz durante 5 segundos, use esto:
ffmpeg -f lavfi -i "sine=frequency=1000:duration=5" test.wav
Puedes añadir -c:a pcm_s16le
:
ffmpeg -f lavfi -i "sine=frequency=1000:duration=5" -c:a pcm_s16le test.wav
Para configurar también la frecuencia de muestreo a 48 KHz:
ffmpeg -f lavfi -i "sine=frequency=1000:sample_rate=48000:duration=5" -c:a pcm_s16le test.wav
Respuesta2
Disculpas por necrografiar esto, pero en el caso de que alguien del futuro venga a buscarlo, si quisieras hacerlo en estéreo, harías lo siguiente:
ffmpeg -f lavfi -i "sine=frequency=1000:duration=5" -ac 2 output.wav
También puedes usar -filter_complex
con amerge
:
ffmpeg -f lavfi -i "sine=frequency=1000:duration=5" -filter_complex "[0:a][0:a]amerge=inputs=2[aout]" -map "[aout]" output.wav