IIRFilterNode.getFrequencyResponse()

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');