gpt4 book ai didi

java - 方波频率变化不平稳

转载 作者:行者123 更新时间:2023-12-03 00:15:03 26 4
gpt4 key购买 nike

我写了一个小方波发生器。每当我尝试平稳地改变频率时,声音中总会清晰地听到“阶跃”。我很确定我没有看到一个很明显的解决方案:(

码:

double rate = 44100;
byte[] buffer;
AudioFormat audioFormat;

buffer = new byte[1];
audioFormat = new AudioFormat((float) rate, 8, 1, true, false);

SourceDataLine sourceDataLine = AudioSystem.getSourceDataLine(audioFormat);
sourceDataLine.open(audioFormat);
sourceDataLine.start();

int i = 0;
boolean on = false;
while (!t.isInterrupted())
{
i++;
if (i < rate / frequency)
{
i++;
} else
{
i = 0;
on = !on;
}
if (on)
buffer[0] = (byte) (volume / 2);
else
buffer[0] = (byte) (-volume / 2);
sourceDataLine.write(buffer, 0, 1);
}
sourceDataLine.drain();
sourceDataLine.stop();
sourceDataLine.close();

最佳答案

这可能是因为您仅使用8位样本大小。这仅给您256个声音级别,不足以进行平滑的更改。使用16位样本获得64k电平。

关于java - 方波频率变化不平稳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35282501/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com