是否可以通过创建Gain
实例并将信号连接到增益输入和幅度控制参数来对信号进行平方?因为我至少在Firefox中看到了奇怪的结果。我可以看到Tone.js使用wave-shaper代替pow
操作,所以也许这就是要走的路。但我很好奇,因为API说gain
参数是音频速率,显然必然会有一些延迟。
答案 0 :(得分:2)
这对我有用:
var c = new AudioContext();
var o = c.createOscillator();
var g = c.createGain();
g.gain.value = 0;
g.connect(c.destination);
o.connect(g);
o.connect(g.gain);
o.start();
o.stop(c.currentTime + 2);
你无法通过聆听来判断,但如果你将代码粘贴到http://hoch.github.io/canopy/,你可以看到正弦波已被平方。
答案 1 :(得分:1)
是的,它可以通过这种方式设置信号。 (我在我的声码器中使用它。)以这种方式做事应该没有延迟。