The BiquadFilterNode() constructor of the Web Audio API creates a new BiquadFilterNode object, which represents a simple low-order filter.
On this page
BiquadFilterNode: BiquadFilterNode() constructor
Syntax
js
new BiquadFilterNode(context, options)
Parameters
-
context -
A reference to an
AudioContext. optionsOptional-
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.channelCountfor 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.channelCountModefor 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.channelCountModefor more information including default values.)
-
Return value
A new BiquadFilterNode object instance.
Specifications
Browser compatibility
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | |
BiquadFilterNode |
55 | 79 | 53 | No | 42 | 14.1 | 55 | 55 | 53 | 42 | 14.5 | 6.0 |
© 2005–2023 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/BiquadFilterNode/BiquadFilterNode