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.
baseAudioContext.createConvolver();
The following example shows basic usage of an AudioContext to create a convolver node. The basic premise is that 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 applied examples/information, check out our Voice-change-O-matic demo (see app.js for relevant code).
var audioCtx = new (window.AudioContext || window.webkitAudioContext)(); var convolver = audioCtx.createConvolver(); ... // grab audio track via XHR for convolver node var soundSource, concertHallBuffer; ajaxRequest = new XMLHttpRequest(); ajaxRequest.open('GET', 'concert-crowd.ogg', true); ajaxRequest.responseType = 'arraybuffer'; ajaxRequest.onload = function() { var audioData = ajaxRequest.response; audioCtx.decodeAudioData(audioData, function(buffer) { concertHallBuffer = buffer; soundSource = audioCtx.createBufferSource(); soundSource.buffer = concertHallBuffer; }, function(e){"Error with decoding audio data" + e.err}); } ajaxRequest.send(); ... convolver.buffer = concertHallBuffer;
Specification | Status | Comment |
---|---|---|
Web Audio API The definition of 'createConvolver()' in that specification. | Working Draft |
Desktop | ||||||
---|---|---|---|---|---|---|
Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | |
Basic support | 10
|
Yes | 25 | No | 22
|
6
|
Mobile | |||||||
---|---|---|---|---|---|---|---|
Android webview | Chrome for Android | Edge Mobile | Firefox for Android | Opera for Android | iOS Safari | Samsung Internet | |
Basic support | Yes | 33 | Yes | 26 | Yes | No | ? |
© 2005–2018 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/BaseAudioContext/createConvolver