IIRFilterNode class abstract

The IIRFilterNode 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"

Typically, it's best to use the BiquadFilterNode 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 useful if you don't need automation, or for other reasons.

Note: 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.


API documentation sourced from MDN Web Docs.

Implemented types

Constructors

IIRFilterNode()

Properties

channelCount int
The channelCount property of the AudioNode represents an integer used to determine how many channels are used when up-mixing and down-mixing connections to any inputs to the node.
getter/setter pairinherited
channelCountMode ChannelCountMode
The channelCountMode property of the AudioNode represents an enumerated value describing the way channels must be matched between the node's inputs and outputs.
getter/setter pairinherited
channelInterpretation ChannelInterpretation
The channelInterpretation property of the AudioNode interface represents an enumerated value describing how input channels are mapped to output channels when the number of inputs/outputs is different. For example, this setting defines how a mono input will be up-mixed to a stereo or 5.1 channel output, or how a quad channel input will be down-mixed to a stereo or mono output.
getter/setter pairinherited
context BaseAudioContext
The read-only context property of the AudioNode returns the associated BaseAudioContext, that is the object representing the processing graph the node is participating in.
no setterinherited
hashCode int
The hash code for this object.
no setterinherited
numberOfInputs int
The numberOfInputs property of the AudioNode returns the number of inputs feeding the node. Source nodes are defined as nodes having a numberOfInputs property with a value of 0.
no setterinherited
numberOfOutputs int
The numberOfOutputs property of the AudioNode returns the number of outputs coming out of the node. Destination nodes — like AudioDestinationNode — have a value of 0 for this attribute.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

connect(AudioNode destinationNode, [int output, int input]) AudioNode
The connect() method of the AudioNode lets you connect one of the node's outputs to a target, which may be either another AudioNode (thereby directing the sound data to the specified node). See also AudioNode.connectParam
inherited
connectParam(AudioParam destinationParam, [int output, int input]) → void
This is a variant of AudioNode.connect with a DestinationParam argument instead of an AudioNode. Note : The W3C recommandation uses just one verb for both.
inherited
disconnect([AudioNode destinationParamOrOutput, int output, int input]) → void
The disconnect() method of the AudioNode lets you disconnect one or more nodes from the node on which the method is called. See also AudioNode.disconnectParam
inherited
disconnectParam(AudioParam destinationParam, [int output, int input]) → void
This is a variant of AudioNode.disconnect with a DestinationParam argument instead of an AudioNode. Note : The W3C recommandation uses just one verb for both.
inherited
getFrequencyResponse(TauFloat32Array frequencyHz, TauFloat32Array magResponse, TauFloat32Array phaseResponse) → void
The getFrequencyResponse() method of the IIRFilterNode takes the current filtering algorithm's settings and calculates the frequency response for frequencies specified in a specified array of frequencies.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited