我想生成正弦波並將其添加到字節數組。我搜索並找到了。但是,我總是會像附件一樣得到失真的波形。正弦波交替扭曲在Java
請給我你的意見爲什麼發生。謝謝。
我的代碼是在這裏
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;
}
我這麼認爲,但我無法處理它。 – 2014-10-29 14:15:43
@AkiSuihkonen,這是Java。沒有無符號類型。 – 2014-10-29 14:18:27