Javascript Web音频API:控制双四阶滤波器节点截止频率

Javascript Web音频API:控制双四阶滤波器节点截止频率,javascript,html,web-audio-api,Javascript,Html,Web Audio Api,如何使用带有web audio api的adsr信封控制滤波器节点的截止频率 我希望以下方法可行: var filter = AudioContext.createBiquadFilter(); filter.frequency.linearRampToValueAtTime(1000, 0.5); 但这会在500毫秒延迟后立即设置截止频率值,而不进行任何形式的转换。我怀疑问题在于这是发送到滤波器的第一个事件。查看th MDN docs(),我们可以看到以下文本:AudioPar

如何使用带有web audio api的adsr信封控制滤波器节点的截止频率

我希望以下方法可行:

var filter = AudioContext.createBiquadFilter();       
filter.frequency.linearRampToValueAtTime(1000, 0.5);

但这会在500毫秒延迟后立即设置截止频率值,而不进行任何形式的转换。

我怀疑问题在于这是发送到滤波器的第一个事件。查看th MDN docs(),我们可以看到以下文本:
AudioParam接口的linearRampToValueAtTime()方法安排AudioParam值的逐渐线性变化。更改在为上一个事件指定的时间开始,沿着线性渐变到value参数中给定的新值,并在endTime参数中给定的时间达到新值。
我怀疑在t=0.5sYes之前您没有值。执行
filter.frequency.setValueAtTime(350,context.currentTime)
设置初始事件。然后
linearRampToValue(1000,0.5+context.currentTime)
将实际渐变。你们应该将此添加为答案,而不是注释。不过,我会让你自己决定谁该得到学分。:)@RaymondToyI怀疑问题在于这是发送到筛选器的第一个事件。查看th MDN docs(),我们可以看到以下文本:
AudioParam接口的linearRampToValueAtTime()方法安排AudioParam值的逐渐线性变化。更改在为上一个事件指定的时间开始,沿着线性渐变到value参数中给定的新值,并在endTime参数中给定的时间达到新值。
我怀疑在t=0.5sYes之前您没有值。执行
filter.frequency.setValueAtTime(350,context.currentTime)
设置初始事件。然后
linearRampToValue(1000,0.5+context.currentTime)
将实际渐变。你们应该将此添加为答案,而不是注释。不过,我会让你自己决定谁该得到学分。:)@雷蒙代伊