Gostaria de gerar um arquivo de áudio com onda senoidal (sinusóide) com FFmpeg. Eu sei que existe um sine
filtro, mas isso é tudo.
Tentei:
fmpeg -filter "sine=48:1:5" -c:a pcms16le test
para criar 5 segundos de áudio a 48kHz no formato PCM S16LE, mas recebi a seguinte mensagem de erro:
O arquivo de saída #0 não contém nenhum fluxo
e o test
arquivo está vazio.
Responder1
Para gerar um sinal de 1000 Hz por 5 segundos, use isto:
ffmpeg -f lavfi -i "sine=frequency=1000:duration=5" test.wav
Você pode adicionar -c:a pcm_s16le
:
ffmpeg -f lavfi -i "sine=frequency=1000:duration=5" -c:a pcm_s16le test.wav
Para definir também a taxa de amostragem para 48 KHz:
ffmpeg -f lavfi -i "sine=frequency=1000:sample_rate=48000:duration=5" -c:a pcm_s16le test.wav
Responder2
Peço desculpas por necroar isso, mas caso alguém do futuro venha procurar por isso, se você quisesse fazer isso em estéreo, faria o seguinte:
ffmpeg -f lavfi -i "sine=frequency=1000:duration=5" -ac 2 output.wav
Você também pode usar -filter_complex
com amerge
:
ffmpeg -f lavfi -i "sine=frequency=1000:duration=5" -filter_complex "[0:a][0:a]amerge=inputs=2[aout]" -map "[aout]" output.wav