ConvolverNode.normalize

ConvolverNode.normalize - чи буде нормалізована імпульсної відповідь з буфера.

Синтаксис:

ConvolverNode.normalize;

Параметри:

ConvolverNode - об'єкт ConvolverNode.

Опис:

normalize властивість об'єкту ConvolverNode яка повертає/задає логічне значення яке вказує чи використовувати нормалізацію імпульсна відповідь з буфера.

Значення true включає нормалізацію, а false виключає тоді сигнал буде виведитися без попередньої обробки / масштабування імпульсної відповіді. Зміни до цього значення не вступають в силу до наступного встановлення властивоті buffer. Значення по замовчуванню дорівнює true.

Приклад:

var audio=new AudioContext(); var convolver=audio.createConvolver(); alert(convolver.normalize); var audio=new AudioContext(); var source=audio.createBufferSource(); var convolver=audio.createConvolver(); source.connect(convolver); convolver.connect(audio.destination); convolver.normalize=true; //функція для створення імпусного звуку function impulseResponse(duration, decay, revers){ var sampleRate = audio.sampleRate; var length=sampleRate*duration; var impulse=audio.createBuffer(2, length,sampleRate); var impulseL = impulse.getChannelData(0); var impulseR = impulse.getChannelData(1); if(!decay)decay = 2.0; for(var i=0;i<length;i++){ var n = revers?length-i:i; impulseL[i]=(Math.random()*2-1)* Math.pow(1-n/length, decay); impulseR[i]=(Math.random()*2-1)* Math.pow(1-n/length,decay); } return impulse; } convolver.buffer=impulseResponse(2,2,false); //присвоюємо імпульсний звук для реверберації звуку //завантажуємо основнуй звук var ajax=new XMLHttpRequest(); ajax.open('get', '/dani/test.ogg', true); ajax.responseType='arraybuffer'; ajax.onload=function(){ audio.decodeAudioData(this.response, function(decodedata){ source.buffer=decodedata; source.start(0); //починаємо відтворення }); } ajax.send();