BiquadFilterNode: Q-Eigenschaft
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2021.
Die Q
-Eigenschaft der BiquadFilterNode
-Schnittstelle ist ein a-rate AudioParam
, ein Double, das einen Q-Faktor, oder Qualitätsfaktor, darstellt.
Wert
Ein AudioParam
. Sein defaultValue
ist 1
, und seine minValue
und maxValue
sind ±(2128 - 2104), oder ungefähr ±3.403e38. Dies ist der Bereich für Gleitkommazahlen mit einfacher Genauigkeit.
Der tatsächliche Wertebereich hängt vom type
des Filters ab:
- Bei
lowpass
undhighpass
wird derQ
-Wert in dB interpretiert. Für diese Filter ist der Wertebereich [-Q, Q], wobei Q der größte Wert ist, für den 10Q/20 die obige Grenze nicht überschreitet. Dies ist ungefähr 770,63678. - Bei
bandpass
,notch
,allpass
undpeaking
bezieht sich derQ
-Wert auf die Bandbreite des Filters und sollte positiv sein, aber es gibt kein strengeres Maximum als das oben genannte. - Er wird nicht für
lowshelf
undhighshelf
Filter verwendet.
Hinweis:
Obwohl das zurückgegebene AudioParam
schreibgeschützt ist, ist der Wert, den es repräsentiert, nicht.
Beispiele
Das folgende Beispiel zeigt die grundlegende Nutzung eines AudioContext, um einen Biquad-Filter-Knoten zu erstellen. Für umfangreichere Anwendungsbeispiele und Informationen werfen Sie einen Blick auf unser Voice-change-O-matic Demo (siehe app.js Zeilen 108–193 für den relevanten Code).
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;
Spezifikationen
Specification |
---|
Web Audio API # dom-biquadfilternode-q |
Browser-Kompatibilität
Report problems with this compatibility data on GitHubdesktop | mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Q |
Legend
Tip: you can click/tap on a cell for more information.
- Full support
- Full support