Tone.js 中的 RampTo 滤波器频率值

RampTo Filter frequency value in Tone.js

这可能是一个愚蠢的问题,因为我是 Tone.js 的新手,但是是否可以斜坡到低通滤波器的频率值? 我正在尝试进行实时交互工作,需要将低通提高到一个值 (x)。 我尝试了一些不同的方法,但 none 似乎有效。 synth.volume.rampTo(x,t) 之类的东西工作得很好,但我似乎无法使其适用于 Filter 组件。

例如,我尝试将信号作为频率值传递,因为信号 class 具有类似 .rampTo 的方法。这个对吗?我应该怎么做?

var lowPassFreq = new Tone.Signal(300, Tone.Frequency);

var lowPass = new Tone.Filter(
    {
        "type":"lowpass",
        "frequency":lowPassFreq.value           
    }
).toMaster();

var noiseSynth = new Tone.NoiseSynth().connect(lowPass);

this.playSound = function (x){

    noiseSynth.triggerAttack("4n");

    lowPassFreq.rampTo(x, 0.05)
    lowPass.frequency.value = lowPassFreq.value

}

不确定您要做什么,但您可以尝试 lowPass.frequency.linearRampToValueAtTime(value, time) 并为 valuetime 设置适当的值。这会将滤波器的频率(截止)从其当前值线性更改为新的 value.