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 einen allgemeinen Infinite Impulse Response (IIR)-Filter implementiert. Diese Art von Filter kann auch zur Implementierung von Tonsteuergeräten und grafischen Equalizern verwendet werden. Er ermöglicht es, die Parameter der Filterantwort anzugeben, sodass sie nach Bedarf angepasst werden kann.

EventTarget AudioNode IIRFilterNode
Anzahl der Eingänge 1
Anzahl der Ausgänge 1
Kanalmodus "max"
Anzahl der Kanäle Gleich wie beim Eingang
Kanalinterpretation "speakers"

In der Regel ist es am besten, das BiquadFilterNode-Interface zu verwenden, um höherordige Filter zu implementieren. Es gibt mehrere Gründe dafür:

  • Biquad-Filter sind in der Regel weniger anfällig für numerische Eigenheiten.
  • Die Filterparameter von Biquad-Filtern können automatisiert werden.
  • Alle IIR-Filter mit geradem Grad können mit BiquadFilterNode erstellt werden.

Falls Sie jedoch einen IIR-Filter mit ungeradem Grad erstellen müssen, müssen Sie IIRFilterNode verwenden. Sie können dieses Interface auch nützlich finden, wenn Sie keine Automatisierung benötigen oder aus anderen Gründen.

Hinweis: Sobald der Node erstellt wurde, können Sie seine Koeffizienten nicht mehr ändern.

IIRFilterNodes haben eine Tail-Time-Referenz; sie geben weiterhin nicht-silent Audio mit null Eingabe aus. Als IIR-Filter wird die nicht-null Eingabe für immer fortgesetzt, dies kann jedoch in der Praxis nach einer endlichen Zeit begrenzt werden, wenn die Ausgabe null ausreichend nahe kommt. Die tatsächliche Zeit, die dafür benötigt wird, hängt von den bereitgestellten Filterkoeffizienten ab.

Konstruktor

IIRFilterNode()

Erstellt eine neue Instanz eines IIRFilterNode-Objekts.

Instanz-Eigenschaften

Dieses Interface hat keine eigenen Eigenschaften, erbt jedoch Eigenschaften von seinem Elternteil, AudioNode.

Instanz-Methoden

Erbt Methoden von seinem Elternteil, AudioNode. Es hat auch die folgenden zusätzlichen Methoden:

getFrequencyResponse()

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

Beispiele

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

Siehe auch unseren Using IIR filters 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