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.
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.
IIRFilterNode
s 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