BiquadFilterNode: BiquadFilterNode() constructor
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.
The BiquadFilterNode()
constructor of the Web Audio API
creates a new BiquadFilterNode
object, which represents a simple
low-order filter.
Syntax
new BiquadFilterNode(context, options)
Parameters
context
-
A reference to an
AudioContext
. options
Optional-
An object with the following properties:
type
-
One of the following strings. The meaning of the other options depends on the value of
type
.lowpass
-
The default. Allows frequencies below a cutoff frequency to pass through, and attenuates frequencies above the cutoff. This is a standard second-order resonant lowpass filter with 12dB/octave rolloff. With this type of filter, the meaning of the other options are as follows:
Q
: controls how peaked the response will be at the cutoff frequency. A large value makes the response more peaked. Please note that for this filter type, this value is not a traditional Q, but is a resonance value in decibels.frequency
: the cutoff frequency.gain
: not used.
highpass
-
A highpass filter is the opposite of a lowpass filter. Frequencies above the cutoff frequency are passed through, but frequencies below the cutoff are attenuated. It implements a standard second-order resonant highpass filter with 12dB/octave rolloff. With this type of filter, the meaning of the other options are as follows:
Q
: controls how peaked the response will be at the cutoff frequency. A large value makes the response more peaked. Please note that for this filter type, this value is not a traditional Q, but is a resonance value in decibels.frequency
: the cutoff frequency.gain
: not used.
bandpass
-
A bandpass filter allows a range of frequencies to pass through and attenuates the frequencies below and above this frequency range. It implements a second-order bandpass filter. With this type of filter, the meaning of the other options are as follows:
Q
: controls the width of the band. The width becomes narrower as the Q value increases.frequency
: the center of the frequency band.gain
: not used.
lowshelf
-
The lowshelf filter allows all frequencies through, but adds a boost (or attenuation) to the lower frequencies. It implements a second-order lowshelf filter. With this type of filter, the meaning of the other options are as follows:
Q
: not used.frequency
: the upper limit of the frequencies where the boost, or attenuation, is applied.gain
: the boost, in dB, to be applied. If the value is negative, the frequencies are attenuated.
highshelf
-
The highshelf filter is the opposite of the lowshelf filter and allows all frequencies through, but adds a boost to the higher frequencies. It implements a second-order highshelf filter. With this type of filter, the meaning of the other options are as follows:
Q
: not used.frequency
: the lower limit of the frequencies where the boost, or attenuation, is applied.gain
: the boost, in dB, to be applied. If the value is negative, the frequencies are attenuated.
peaking
-
The peaking filter allows all frequencies through, adding a boost, or attenuation, to a range of frequencies. With this type of filter, the meaning of the other options are as follows:
Q
: the width of the band of frequencies that are boosted. A large value implies a narrow width.frequency
: the center frequency of the boost range.gain
: the boost, in dB, to be applied. If the value is negative, the frequencies are attenuated.
notch
-
The notch filter (also known as a band-stop, or band-rejection filter) is the opposite of a bandpass filter. It allows all frequencies through, except for a set of frequencies. With this type of filter, the meaning of the other options are as follows:
Q
: the width of the band of frequencies that are attenuated. A large value implies a narrow width.frequency
: the center frequency of the attenuation range.gain
: not used.
allpass
-
An allpass filter allows all frequencies through, but changes the phase relationship between the various frequencies. It implements a second-order allpass filter. With this type of filter, the meaning of the other options are as follows:
Q
: the sharpness of the phase transition at the center frequency. A larger value implies a sharper transition and a larger group delay.frequency
: the frequency where the center of the phase transition occurs. Viewed another way, this is the frequency with maximal group delay.gain
: not used.
Q
-
Defaults to 1. The meaning of this option depends on the value of
type
. detune
-
Defaults to 0.
frequency
-
Defaults to 350.
gain
-
Defaults to 0. The meaning of this option depends on the value of
type
. channelCount
-
Represents an integer used to determine how many channels are used when up-mixing and down-mixing connections to any inputs to the node. (See
AudioNode.channelCount
for more information.) Its usage and precise definition depend on the value ofchannelCountMode
. channelCountMode
-
Represents an enumerated value describing the way channels must be matched between the node's inputs and outputs. (See
AudioNode.channelCountMode
for more information including default values.) channelInterpretation
-
Represents an enumerated value describing the meaning of the channels. This interpretation will define how audio up-mixing and down-mixing will happen. The possible values are
"speakers"
or"discrete"
. (SeeAudioNode.channelCountMode
for more information including default values.)
Return value
A new BiquadFilterNode
object instance.
Specifications
Specification |
---|
Web Audio API # dom-biquadfilternode-biquadfilternode-context-options |
Browser compatibility
BCD tables only load in the browser