ffmpeg で正弦波を生成するにはどうすればいいですか?

ffmpeg で正弦波を生成するにはどうすればいいですか?

FFmpeg を使用して正弦波 (正弦波) のオーディオ ファイルを生成したいと思います。sineフィルターがあることは知っていますが、それ以上のことはできません。

私は試した:

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

PCM S16LE 形式で 48kHz の 5 秒間のオーディオを作成しようとしましたが、次のエラー メッセージが表示されました。

出力ファイル#0にはストリームが含まれていません

ファイルはtest空です。

答え1

1000 Hz の信号を 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 KHz に設定するには:

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

関連情報