The normalize
property of the ConvolverNode
interface is a boolean that controls whether the impulse response from the buffer will be scaled by an equal-power normalization when the buffer
attribute is set, or not.
Its default value is true
in order to achieve a more uniform output level from the convolver, when loaded with diverse impulse responses. If normalize is set to false
, then the convolution will be rendered with no pre-processing/scaling of the impulse response. Changes to this value do not take effect until the next time the buffer
attribute is set.
var audioCtx = new AudioContext(); var convolver = audioCtx.createConvolver(); convolver.normalize = false;
A boolean.
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.normalize = false; // must be set before the buffer, to take effect convolver.buffer = concertHallBuffer;
Specification | Status | Comment |
---|---|---|
Web Audio API The definition of 'normalize' in that specification. | Working Draft |
Feature | Chrome | Edge | Firefox | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
Basic support | 14 | Yes | 25 | No | 15 | 6 |
Feature | Android webview | Chrome for Android | Edge mobile | Firefox for Android | IE mobile | Opera Android | iOS Safari |
---|---|---|---|---|---|---|---|
Basic support | 14 | 14 | Yes | 26 | No | 15 | ? |
© 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/ConvolverNode/normalize