小编aba*_*bab的帖子

为什么此代码会产生非常嘈杂的正弦波?

我试图用Java编写一个非常简单的声音合成器。我正在使用javax.sound.sampled包裹。下面的代码可以工作,但是正弦波非常嘈杂,听起来像是在波浪旁边播放了一些安静的暖噪声。

try {
    double sampleRate = 44100;
    //8 bits per sample, so a byte.
    AudioFormat audioFormat = new AudioFormat((float) sampleRate, 8, 1, true, false);
    SourceDataLine line = AudioSystem.getSourceDataLine(audioFormat);

    line.open(audioFormat);
    line.start();

    //A4
    double freq = 440.0;

    byte[] buf = new byte[1];

    //the formula for a sample is amplitude * sin(2.0 * PI * freq * time)
    for (int i = 0; i < sampleRate; i++) {
        double t = (i / (sampleRate - 1));
        double sample = 0.1 * …
Run Code Online (Sandbox Code Playgroud)

java sound-synthesis sine-wave

4
推荐指数
1
解决办法
84
查看次数

标签 统计

java ×1

sine-wave ×1

sound-synthesis ×1