BaseAudioContext.createConvolver()
  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
baseAudioContext.createConvolver();
Returns
Example
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;
Specifications
| Specification | 
|---|
| Web Audio API  # dom-baseaudiocontext-createconvolver  | 
Browser compatibility
BCD tables only load in the browser