值
一个 AudioParam。它的 defaultValue 是 1,其 minValue 和 maxValue 为 ±(2128 - 2104),或约 ±3.403e38。这是单精度浮点数的范围。
其实际值范围取决于滤波器的 type。
- 对于
lowpass和highpass,Q值被解释为 dB。对于这些滤波器,值范围是 [-Q, Q],其中 Q 是 10Q/20 不会溢出上述边界的最大值。这约等于 770.63678。 - 对于
bandpass、notch、allpass和peaking,Q值与滤波器的带宽相关,且应为正数,但没有比上述更严格的最大值。 - 它不用于
lowshelf和highshelf滤波器。
注意:虽然返回的 AudioParam 是只读的,但它所代表的值并非如此。
示例
以下示例展示了使用 AudioContext 创建 Biquad 滤波器节点的基本用法。有关更完整和实际的应用示例/信息,请查看我们的 Voice-change-O-matic 演示(相关代码请参见 app.js 的 108-193 行)。
js
const audioCtx = new AudioContext();
// Set up the different audio nodes we will use for the app
const analyser = audioCtx.createAnalyser();
const distortion = audioCtx.createWaveShaper();
const gainNode = audioCtx.createGain();
const biquadFilter = audioCtx.createBiquadFilter();
const convolver = audioCtx.createConvolver();
// Connect the nodes together
source = audioCtx.createMediaStreamSource(stream);
source.connect(analyser);
analyser.connect(distortion);
distortion.connect(biquadFilter);
biquadFilter.connect(convolver);
convolver.connect(gainNode);
gainNode.connect(audioCtx.destination);
// Manipulate the Biquad filter
biquadFilter.type = "lowshelf";
biquadFilter.frequency.value = 1000;
biquadFilter.gain.value = 25;
biquadFilter.type = "peaking";
biquadFilter.frequency.value = 1000;
biquadFilter.Q.value = 100;
biquadFilter.gain.value = 25;
规范
| 规范 |
|---|
| Web Audio API # dom-biquadfilternode-q |
浏览器兼容性
加载中…