javax.sound.sampled.SourceDataLine을 사용하여 일반 사인파를 생성하고 싶습니다. 하나의 고정 주파수에 대해서는 정상적으로 작동하지만 주파수를 변경할 때 항상 딸깍하는 소리가 들립니다. 무엇이 잘못 되었나요?이를 피하기 위해 무엇을 할 수 있습니까? freq
변경, 전체 정현파가 이동 될 때 때문에java SourceDataLine 사인파 클릭
private double alpha = 0.0;
private static final double step_alpha = (2.0*Math.PI)/SAMPLE_RATE;
private void createSineWaveBuffer(final double freq, final byte[] buffer) {
for(int i = 0; i < buffer.length; ++i) {
buffer[i] = (byte)(Math.sin(freq*alpha)*127.0);
alpha += step_alpha;
if(alpha >= 2.0*Math.PI) {
alpha = 0.0;
}
}
}