每个关于WebAudio LFO的教程都会为LFO创建一个振荡器,然后将其路由到增益节点的gain参数。
但是AFAIK振荡器产生从-1到1的输出,所以对于一半的周期,我们发送一个负值到增益乘法器。在最好的情况下,这被削减到0的最小增益,在最坏的情况下,它进入负值,有效地使调制波的频率加倍。
如何设置一个简单的LFO,然后以预期的频率从0振荡到1?
发布于 2019-10-29 08:38:41
您可以将OscillatorNode和ConstantSourceNode组合在一起以达到预期的效果。
const oscillatorNode = new OscillatorNode(context);
const constantSourceNode = new ConstantSourceNode(context);
const gainNode = new GainNode(context, { gain: 0.5 });
oscillatorNode.connect(gainNode);
constantSourceNode.connect(gainNode);
gainNode.connect(context.destination);
oscillatorNode.start();
constantSourceNode.start();正如您所说,OscillatorNode将在-1和1之间振荡。ConstantSourceNode输出一个值为1的恒定信号。如果我们将这两个节点组合在一起,我们将得到一个在0和2之间振荡的信号。然后我们可以使用GainNode将该信号除以2。结果将是一个在0和1之间振荡的信号。
https://stackoverflow.com/questions/58599068
复制相似问题