![ffmpeg로 사인파를 생성하는 방법은 무엇입니까?](https://rvso.com/image/1400034/ffmpeg%EB%A1%9C%20%EC%82%AC%EC%9D%B8%ED%8C%8C%EB%A5%BC%20%EC%83%9D%EC%84%B1%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
FFmpeg를 사용하여 사인파(정현파)가 포함된 오디오 파일을 생성하고 싶습니다. 필터 가 있다는 건 알지만 sine
그게 전부입니다.
나는 시도했다:
fmpeg -filter "sine=48:1:5" -c:a pcms16le test
PCM S16LE 형식으로 48kHz에서 5초 분량의 오디오를 생성하려고 했으나 다음과 같은 오류 메시지가 나타납니다.
출력 파일 #0에 스트림이 포함되어 있지 않습니다.
파일 test
이 비어 있습니다.
답변1
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
답변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