The gain
property of the BiquadFilterNode
interface is an a-rate AudioParam
— a double representing the gain used in the current filtering algorithm.
When its value is positive, it represents a real gain; when negative, it represents an attenuation.
It is expressed in dB, has a default value of 0
, and can take a value in a nominal range of -40
to 40
.
An AudioParam
.
Note: Though the AudioParam
returned is read-only, the value it represents is not.
The following example shows basic usage of an AudioContext to create a Biquad filter node. For more complete applied examples/information, check out our Voice-change-O-matic demo (see app.js lines 108–193 for relevant code).
const audioCtx = new AudioContext();
const analyser = audioCtx.createAnalyser();
const distortion = audioCtx.createWaveShaper();
const gainNode = audioCtx.createGain();
const biquadFilter = audioCtx.createBiquadFilter();
const convolver = audioCtx.createConvolver();
source = audioCtx.createMediaStreamSource(stream);
source.connect(analyser);
analyser.connect(distortion);
distortion.connect(biquadFilter);
biquadFilter.connect(convolver);
convolver.connect(gainNode);
gainNode.connect(audioCtx.destination);
biquadFilter.type = "lowshelf";
biquadFilter.frequency.value = 1000;
biquadFilter.gain.value = 25;