IIRFilter

by Chinmay Pendharkar

HTML

<input id="slider" value="600" type="range" min="40" max="1000">

JavaScript

window.AudioContext = window.webkitAudioContex || window.AudioContext;

var ac = new AudioContext();

var b = [  9.80929998e-04,  -1.56908998e-02,   1.17655880e-01,
        -5.48958641e-01,   1.78384402e+00,  -4.28071878e+00,
         7.84732069e+00,  -1.12098892e+01,   1.26109121e+01,
        -1.12098892e+01]

var a = [  1.00000000e+00,  -1.59592604e+01,   1.19390138e+02,
        -5.55739570e+02,   1.80157530e+03,  -4.31283706e+03,
         7.88688537e+03,  -1.12385475e+04,   1.26115091e+04,
        -1.11820270e+04]
        
var filter = ac.createIIRFilter(b,a);

var osc = ac.createOscillator();
osc.frequency.value = 600;
osc.connect(filter);
filter.connect(ac.destination);

osc.start(0);

var slider = document.getElementById('slider');
slider.addEventListener('input', function(){
  osc.frequency.value = parseFloat(slider.value);
});