带通滤波器,其频率和Q值代表频率范围?

时间:2015-11-05 09:11:27

标签: javascript audio filtering web-audio

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

然而bandpass filter in the Web Audio API只有一个频率值(代表中心)和一个Q值(代表八度?)。

如何正确设置它们以代表我的tofrom频率范围?

1 个答案:

答案 0 :(得分:2)

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);

频率似乎是fromto值的geometric mean。以此值作为中心频率,我现在可以calculate the Q值。