사인파를 생성하여 바이트 배열에 추가하려고합니다. 나는 수색하고 발견했다. 그러나 나는 항상 첨부 파일처럼 왜곡 된 파형을 얻습니다.자바에서 사인파가 왜곡을 반복합니다.
왜 그런지 생각해보세요. 감사.
내 코드는 여기
private byte[] getData(int freq) { // taking pitch data
double pha = Math.PI/2; // defining phase
final int LENGTH = 44100 * 10; // defining length of sine wave, byte array
final byte[] arr = new byte[LENGTH];
for(int i = 0; i < arr.length; i++) {
double angle = (2.0 * Math.PI * i*freq+pha)/(44100);
arr[i] = (byte) (Math.cos(angle) *127* 0.3); // 0.3 is amplitude scale
}
return arr;
}
나는 그렇게 생각한다. 그러나 나는 그것을 다룰 수 없다. –
@AkiSuihkonen, 이것은 자바입니다. 부호없는 유형은 없습니다. –