Tone.js - 如何使 LFO 对象成为作为振荡器链一部分的音量对象的控制输入?

Tone.js - How do you make a LFO object the control input for a Volume Object that is part of an oscillator chain?

我希望 LFO 对象成为振荡器馈入的音量对象的控制输入(通过每个振荡器和一个滤波器对象的声相器)。这是我正在创建的 4 个振荡器之一的初始化示例...

const oscillator = new Tone.OmniOscillator();
const volume = new Tone.Volume();
oscillator.chain(new Tone.Panner(-0.8), new Tone.Filter(1200, 'lowpass'), vol , Tone.Destination);
lfo.connect(volume);

振荡器工作正常,平移和过滤对象也是如此。但是,我将 LFO 的频率、最小值和最大值暴露在 UI 中,但更改这些值似乎根本不会影响噪音?这是我要输入到输出形式的设置 -

OCS1 OSC2 OSC3 OSC4 (all with panners)
feeding into 
FILTER
feeding into 
VOLUME <- LFO
feeding into 
DESTINATION/OUTPUT

我错过了什么吗?我尝试更改将 LFO 附加到音量对象并使其在振荡器链之前和之后的顺序,但无济于事。此外,最初我在打开振荡器时使用 LFO.start 和 LFO.stop,但这似乎 LFO 信号直接进入音频通道,这是不正确的(虽然我真的不看看我如何在不打开 LFO 的情况下使用它!!)。

非常感谢任何帮助。

低频振荡器需要连接到音量的 volume 属性。

oscillator = new Tone.Oscillator(220, "sine");
var filter = new Tone.Filter(1200, "lowpass");
var vol = new Tone.Volume();

// Example of LFO for lowpass filter.
var lfo = new Tone.LFO(4, 200, 1200); // hertz, min, max
lfo.connect(filter.frequency);
lfo.start();

// Example of LFO for volume.
var lfo2 = new Tone.LFO(0.1, -100, 0); // hertz, min, max
lfo2.connect(vol.volume);
lfo2.start();


oscillator.chain(filter, vol);
oscillator.start();
vol.toDestination();

这是一个可用的 CodePen:https://codepen.io/joeweiss/pen/JjWvdmL?editors=0011