小编Bil*_*ici的帖子

正弦波在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;
}
Run Code Online (Sandbox Code Playgroud)

扭曲波形示例图片

在此输入图像描述

java math signals trigonometry

3
推荐指数
1
解决办法
312
查看次数

标签 统计

java ×1

math ×1

signals ×1

trigonometry ×1