使用Tone.js,我创建了一些“过滤器”对象并将它们连接到“玩家”对象,如下所示:
const hipass = new Tone.Filter(2000, 'highpass', -48).toMaster();
const vibrato = new Tone.Vibrato(5, 1).toMaster();
const distortion = new Tone.Distortion(0.6).toMaster();
const soundFiles = {
sound1: './sounds/sound1.mp3',
sound2: './sounds/sound2.mp3',
sound3: './sounds/sound3.mp3',
}
const sounds =
new Tone.Players(soundFiles ,{
volume: 0,
loop: true
})
.connect(distortion)
.connect(vibrato)
.connect(hipass)
.toMaster()
一切都很好,包括失真和颤音,但是hipass过滤器似乎没有做任何事情,即使我像这样更新它:
const setValue = newValue => hipass.frequency.value = newValue;
我用一个物理滑块调用这个函数,我确定'newValue'总是一个0到20000之间的数字,但我无法察觉任何变化。我还尝试使用'lowpass'
,'bandpass'
和其他所有选项而不是'highpass'
,但没有任何反应。