IIRFilterNode

The IIRFilterNode interface of the Web Audio API is a AudioNode processor which implements a general infinite impulse response (IIR)  filter; this type of filter can be used to implement tone control devices and graphic equalizers as well. It lets the parameters of the filter response be specified, so that it can be tuned as needed.

Number of inputs 1
Number of outputs 1
Channel count mode "max"
Channel count Same as on the input
Channel interpretation "speakers"

You shouldn't call this interface's constructor directly; instead, call AudioContext.createIIRFilter() to create an instance of this interface.

Typically, it's best to use the BiquadFilterNode interface to implement higher-order filters. There are several reasons why:

  • Biquad filters are typically less sensitive to numeric quirks.
  • The filter parameters of biquad filters can be automated.
  • All even-ordered IIR filters can be created using BiquadFilterNode.

However, if you need to create an odd-ordered IIR filter, you'll need to use IIRFilterNode. You may also find this interface useful if you don't need automation, or for other reasons.

Once the node has been created, you can't change its coefficients.

IIRFilterNodes have a tail-time reference; they continue to output non-silent audio with zero input. As an IIR filter, the non-zero input continues forever, but this can be limited after some finite time in practice, when the output has approached zero closely enough. The actual time that takes depends on the filter coefficients provided.

Properties

This interface has no properties of its own; however, it inherits properties from its parent, AudioNode.

Methods

Inherits methods from its parent, AudioNode. It also has the following additional methods:

getFrequencyResponse()
Uses the filter's current parameter settings to calculate the response for frequencies specified in the provided array of frequencies.

Specifications

Specification Status Comment
Web Audio API
The definition of 'IIRFilterNode' in that specification.
Working Draft Initial Definition

Browser compatibility

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Basic support 49.0 50 (50) ? ? ?
Feature Android Android Webview Firefox Mobile (Gecko) Firefox OS IE Mobile Opera Mobile Safari Mobile Chrome for Android
Basic support No support 49.0 50.0 (50) ? ? ? ? 49.0

See also

License

© 2016 Mozilla Contributors
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-us/docs/web/api/iirfilternode

API audio Audio IIRFilterNode Interface Reference Web Audio API