getFrequencyResponse() - приймає параметри поточного алгоритм фільтрації і розраховує частотну характеристику для частот зазначених у заданому масиві частот.
IIRFilterNode.getFrequencyResponse(frequencyArray, magResponseOutput, phaseResponseOutput);
IIRFilterNode - об'єкт IIRFilterNode.
frequencyArray - масив Float32Array який містить масив частот Hz який потрібно відфільтрувати.
magResponseOutput - масив Float32Array для отримання обчислюваних магнітуди частоти відповіді для кожної частоти в frequencyArray.
phaseResponseOutput - масив Float32Array для отримання значення обчисленого фазового відгуку в радіан для кожної частоти у вхідному сигналі frequencyArray.
getFrequencyResponse() метод еб'єкту який приймає параметри поточного алгоритм фільтрації і розраховує частотну характеристику для частот зазначених у заданому масиві частот.
if(window.AudioContext){
var player = document.getElementById('player');
var audio = new AudioContext();
var source = audio.createMediaElementSource(player);
var iirFilter = audio.createIIRFilter([0.1, 0.2, 0.3, 0.4, 0.55], [5, 0.9, 0.3, 0.2, 1.2]);
source.connect(iirFilter);
iirFilter.connect(audio.destination);
var myFrequencyArray = new Float32Array(8);
myFrequencyArray[0] = 100;
myFrequencyArray[1] = 800;
myFrequencyArray[2] = 1200;
myFrequencyArray[3] = 2500;
myFrequencyArray[4] = 3200;
myFrequencyArray[5] = 5200;
myFrequencyArray[6] = 6500;
myFrequencyArray[7] = 7200;
myFrequencyArray[8] = 9000;
var magResponseOutput = new Float32Array(8);
var phaseResponseOutput = new Float32Array(8);
calcFrequencyResponse=function(){
iirFilter.getFrequencyResponse(myFrequencyArray, magResponseOutput, phaseResponseOutput);
var s='';
for(i=0; i<myFrequencyArray.length; i++){
s+= '<div><b>' + myFrequencyArray[i] + 'Hz</b>: Магнітуда - ' + magResponseOutput[i] + ', Фаза ' + phaseResponseOutput[i] + ' радіан.</div>';
}
document.getElementById('result').innerHTML=s;
setTimeout(calcFrequencyResponse,1000);
}
calcFrequencyResponse();
player.play(); //починаємо відтворення
}else alert('Ваш браузер не підтримує Web Audio');