IIRFilterNode

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.

Das IIRFilterNode-Interface der Web Audio API ist ein AudioNode-Prozessor, der eine allgemeine Infinite Impulse Response (IIR) Filter implementiert; diese Art von Filter kann auch für die Implementierung von Klangregelgeräten und grafischen Equalizern verwendet werden. Es ermöglicht die Spezifikation der Parameter der Filterantwort, sodass diese nach Bedarf angepasst werden kann.

EventTarget AudioNode IIRFilterNode
Anzahl der Eingänge 1
Anzahl der Ausgänge 1
Channel Count Mode "max"
Channel Count Gleich wie beim Eingang
Channel Interpretation "speakers"

Typischerweise ist es am besten, das BiquadFilterNode-Interface für die Implementierung von Filtern höherer Ordnung zu verwenden. Es gibt mehrere Gründe dafür:

  • Biquad-Filter sind typischerweise weniger empfindlich gegenüber numerischen Eigenheiten.
  • Die Filterparameter von Biquad-Filtern können automatisiert werden.
  • Alle geraden IIR-Filter können mit BiquadFilterNode erstellt werden.

Wenn Sie jedoch einen ungeraden IIR-Filter erstellen müssen, sollten Sie IIRFilterNode verwenden. Diese Schnittstelle kann auch nützlich sein, wenn Sie keine Automatisierung benötigen oder aus anderen Gründen.

Hinweis: Sobald der Node erstellt wurde, können die Koeffizienten nicht mehr geändert werden.

IIRFilterNodes haben eine Nachlaufzeitreferenz; sie geben weiterhin nicht-stille Audiodaten mit Null-Eingabe aus. Als IIR-Filter bleibt die Nicht-Null-Eingabe für immer bestehen, aber dies kann in der Praxis nach einiger endlicher Zeit begrenzt werden, wenn sich die Ausgabe dem Nullpunkt ausreichend angenähert hat. Die tatsächliche Zeit hängt von den bereitgestellten Filterkoeffizienten ab.

Konstruktor

IIRFilterNode()

Erstellt eine neue Instanz eines IIRFilterNode-Objekts.

Instanz-Eigenschaften

Diese Schnittstelle hat keine eigenen Eigenschaften; sie erbt jedoch Eigenschaften von ihrem Eltern-Interface, AudioNode.

Instanz-Methoden

Erbt Methoden von ihrem Eltern-Interface, AudioNode. Sie hat auch die folgenden zusätzlichen Methoden:

getFrequencyResponse()

Verwendet die aktuellen Parametereinstellungen des Filters, um die Antwort für die in dem bereitgestellten Frequenz-Array angegebenen Frequenzen zu berechnen.

Beispiele

Ein einfaches IIR-Filter-Demo finden Sie bei Codepen. Siehe auch den Quellcode auf GitHub. Es enthält verschiedene Koeffizientenwerte für unterschiedliche Tiefpassfrequenzen — Sie können den Wert der Konstanten filterNumber auf einen Wert zwischen 0 und 3 ändern, um die verschiedenen verfügbaren Effekte auszuprobieren.

Siehe auch unseren IIR-Filter verwenden-Leitfaden für eine vollständige Erklärung.

Spezifikationen

Specification
Web Audio API
# IIRFilterNode

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch