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)
并为 value
和 time
设置适当的值。这会将滤波器的频率(截止)从其当前值线性更改为新的 value
.
这可能是一个愚蠢的问题,因为我是 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)
并为 value
和 time
设置适当的值。这会将滤波器的频率(截止)从其当前值线性更改为新的 value
.