带通滤波器,用哪个频率和Q值来表示频率范围?

flo*_*ori 3 javascript audio filtering web-audio-api

我想使用网络音频带通滤波器来强调 300Hz 到 3kHz 的频率。

然而,Web Audio API 中的带通滤波器只有一个频率值(代表中心)和一个Q值(代表八度音程?)。

如何正确设置它们来代表我的to频率from范围?

flo*_*ori 5

var from = 300;
var to = 30000;
var geometricMean = Math.sqrt(from * to);

var filter = audioContext.createBiquadFilter();
filter.type = 'bandpass';
filter.frequency.value = geometricMean;
filter.Q.value = geometricMean / (to - from);
Run Code Online (Sandbox Code Playgroud)

看起来频率是和值的几何平均值。以此值作为中心频率,我现在可以计算 Q值。fromto

  • 你可以这样做;您还可以使用链接的 highshelf 和 lowshelf 过滤器来执行此操作。 (2认同)