BiquadFilterNode: BiquadFilterNode() constructor
================================================

 The **`BiquadFilterNode()`**
 constructor of the Web Audio API
 creates a new `BiquadFilterNode` object, which represents a simple
 low-order filter.

Syntax
------


```js
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 of `channelCountMode`.


`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"`. (See
 `AudioNode.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 with JavaScript enabled. Enable JavaScript to view data.