ffmpeg로 사인파를 생성하는 방법은 무엇입니까? 나는 sine필터 가

FFmpeg를 사용하여 사인파 (사인파)로 오디오 파일을 생성하고 싶습니다. 나는 sine필터 가 있다는 것을 알고 있지만 그 정도는 아닙니다.

나는 시도했다 :

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

PCM S16LE 형식으로 48kHz에서 5 초 분량의 오디오를 만들려면 다음과 같은 오류 메시지가 나타납니다.

출력 파일 # 0에 스트림이 없습니다

그리고 test파일이 비어 있습니다.



답변

5 초 동안 1000Hz 신호를 생성하려면 다음을 사용하십시오.

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

샘플링 속도를 48KHz로 설정하려면 :

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

답변

이것을 괴롭히는 것에 대한 사과가 있지만 미래의 누군가가 이것을 찾고있는 경우 스테레오로 이것을하고 싶다면 다음을 수행하십시오.

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