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 und highpass wird der Q-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 und peaking bezieht sich der Q-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 und highshelf 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).

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;

Spezifikationen

Specification
Web Audio API
# dom-biquadfilternode-q

Browser-Kompatibilität

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Q

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

Siehe auch