BaseAudioContext: createConvolver() method
The createConvolver()
method of the BaseAudioContext
interface creates a ConvolverNode
, which is commonly used to apply
reverb effects to your audio. See the spec definition of Convolution for more information.
Note: The ConvolverNode()
constructor is the recommended way to create a ConvolverNode
; see
Creating an AudioNode.
Syntax
createConvolver()
Parameters
None.
Return value
Examples
Creating a convolver node
The following example shows how to use an AudioContext to create a convolver node.
You create an AudioBuffer
containing a sound sample to be used
as an ambience to shape the convolution (called the impulse response) and
apply that to the convolver. The example below uses a short sample of a concert hall
crowd, so the reverb effect applied is really deep and echoey.
For more complete applied examples/information, check out our Voice-change-O-matic demo (see app.js for the code that is excerpted below).
const audioCtx = new AudioContext();
// ...
const convolver = audioCtx.createConvolver();
// ...
// Grab audio track via fetch() for convolver node
try {
const response = await fetch(
"https://mdn.github.io/voice-change-o-matic/audio/concert-crowd.ogg",
);
const arrayBuffer = await response.arrayBuffer();
const decodedAudio = await audioCtx.decodeAudioData(arrayBuffer);
convolver.buffer = decodedAudio;
} catch (error) {
console.error(
`Unable to fetch the audio file: ${name} Error: ${err.message}`,
);
}
Specifications
Specification |
---|
Web Audio API # dom-baseaudiocontext-createconvolver |
Browser compatibility
BCD tables only load in the browser