Как сгенерировать синусоиду с помощью ffmpeg?

Как сгенерировать синусоиду с помощью ffmpeg?

Я хотел бы создать аудиофайл с синусоидальной волной с помощью FFmpeg. Я знаю, что есть фильтр, sineно это все, что нужно.

Я пытался:

fmpeg -filter "sine=48:1:5" -c:a pcms16le test

для создания 5 секунд звука с частотой 48 кГц в формате PCM S16LE, но я получил следующее сообщение об ошибке:

Выходной файл №0 не содержит ни одного потока

и testфайл пуст.

решение1

Чтобы сгенерировать сигнал частотой 1000 Гц длительностью 5 секунд, используйте следующее:

ffmpeg -f lavfi -i "sine=frequency=1000:duration=5" test.wav

Можете добавить -c:a pcm_s16le:

ffmpeg -f lavfi -i "sine=frequency=1000:duration=5" -c:a pcm_s16le test.wav    

Чтобы также установить частоту дискретизации 48 кГц:

ffmpeg -f lavfi -i "sine=frequency=1000:sample_rate=48000:duration=5" -c:a pcm_s16le test.wav

решение2

Извините за некропостинг, но если кто-то из будущего придет за этим, и захочет сделать это в стерео, вам нужно сделать следующее:

ffmpeg -f lavfi -i "sine=frequency=1000:duration=5" -ac 2 output.wav

Вы также можете использовать -filter_complexс amerge:

ffmpeg -f lavfi -i "sine=frequency=1000:duration=5" -filter_complex "[0:a][0:a]amerge=inputs=2[aout]" -map "[aout]" output.wav

Связанный контент