我想模仿一个clasic 1/3波段模拟eq和1个八度音阶。我正在使用BiquadFilter(Peaking),但我无法找到如何正确设置Q
值。
在WAA文档中没有等效或示例值的示例。有谁知道我怎么能做到这一点?
感谢。
修改
我发现this answer指向The Audio EQ Cookbook并说:
正如https://webaudio.github.io/web-audio-api/#filters-characteristics中所述,双二阶滤镜的公式基于http://www.musicdsp.org/files/Audio-EQ-Cookbook.txt处的注释
这表示Q和带宽与公式有关
1/Q = 2*sinh(ln(2)/2*BW*w0/sin(w0))
其中w0 = = 2*pi*f0/Fs
和f0
是中心频率,Fs
是采样率。
在该等式中,我不确定如何正确获取带宽,例如在此页http://www.sengpielaudio.com/calculator-bandwidth.htm中,我们可以看到一个公式,其中指出BW = f2 − f1
其中f2
是下一个频率Eq和f1
之前的频率?
例如,如果EQ是1/3倍频程,则中心频率为1Khz,采样率为44100hz,
f2 = 1250Hz f0 = 1000Hz f1 = 800hz
w0 = 2 * pi * 1000/44100 = 0.14247585730565954
BW = 1250hz - 800hz = 450
但是,1.09283639196669×10^-68
的Q值太小了。但是,如果我将BW
视为1/3(如八分之一的三分之一),它会给4.30381250657881
几乎与同一个Sengpiel Audio网站中的BW到Q计算器相同。
那么为什么BW = f2 − f1
?我应该在BW = 1
等式中使用BW = 1/3
作为一个八度音,还是Q
作为三分之一?
此外,此Q值是否与BiquadFilter.Q
值兼容,还是我必须将其标准化?