Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

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; dieser Filtertyp kann auch zur Implementierung von Klangregelgeräten und grafischen Equalizern verwendet werden. Es ermöglicht, die Parameter der Filterantwort festzulegen, sodass es nach Bedarf abgestimmt werden kann.

EventTarget AudioNode IIRFilterNode
Anzahl der Eingänge 1
Anzahl der Ausgänge 1
Kanalanzahl-Modus "max"
Kanalanzahl Gleiche wie am Eingang
Kanalinterpretation "speakers"

Typischerweise ist es am besten, das BiquadFilterNode-Interface zur Implementierung höherwertiger Filter zu verwenden. Dafür gibt es mehrere Gründe:

  • Biquad-Filter sind typischerweise weniger anfällig für numerische Eigenheiten.
  • Die Filterparameter von Biquad-Filtern können automatisiert werden.
  • Alle gerade-ordnigen IIR-Filter können mittels BiquadFilterNode erstellt werden.

Wenn Sie jedoch einen ungerade-ordnigen IIR-Filter erstellen müssen, müssen Sie IIRFilterNode verwenden. Sie könnten 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 die Koeffizienten nicht mehr geändert werden.

IIRFilterNodes besitzen eine Nachlaufzeit-Referenz; sie geben nicht-stille Audiodaten mit null Eingabe weiter. Als IIR-Filter setzt sich die nicht-nulllige Eingabe unendlich fort, kann jedoch in der Praxis nach einer endlichen Zeit begrenzt werden, wenn der Ausgang nahe genug an null herangekommen ist. Die tatsächliche Dauer hängt von den bereitgestellten Filterkoeffizienten ab.

Konstruktor

IIRFilterNode()

Erstellt eine neue Instanz eines IIRFilterNode-Objekts.

Instanz-Eigenschaften

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

Instanz-Methoden

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

getFrequencyResponse()

Verwendet die aktuellen Parametereinstellungen des Filters, um die Antwort für Frequenzen zu berechnen, die im bereitgestellten Frequenzarray angegeben sind.

Beispiele

Sie finden eine einfache IIR-Filter-Demo live. 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 unser Verwendung von IIR-Filtern Leitfaden für eine vollständige Erklärung.

Spezifikationen

Specification
Web Audio API
# IIRFilterNode

Browser-Kompatibilität

Siehe auch