WPT
wpt / webaudio / the-audio-api / the-iirfilternode-interface / iirfilter.html
Spec: Web Audio API ↗
Runs: Chrome 155.0.8041.0 (wpt@4a01b83e3, 2026-09-04) | Firefox 157.0a1 (wpt@e7122b73f, 2026-09-04) | Safari 251 preview (wpt@2c385f65e, 2026-09-04) | Ladybird 1.0-70fb3 (wpt@4a01b83e3, 2026-09-04) | Servo Servo 0.6 (wpt@7e3d005d7, 2026-09-03) | Blitz a50cb8971 (wpt@a95401e4e, 2026-09-03)
View on the Blitz WPT dashboard | Open test on wpt.live | wpt.fyi
| Chrome | Firefox | Safari | Ladybird | Servo | Blitz | |
|---|---|---|---|---|---|---|
| Total | 68/68 | 68/68 | 68/68 | 15/68 | 68/68 | NOT RUN |
| Subtest | Chrome | Firefox | Safari | Ladybird | Servo | Blitz |
|---|---|---|---|---|---|---|
| # AUDIT TASK RUNNER STARTED. | PASS | PASS | PASS | PASS | PASS | — |
| Executing "coefficient-normalization" | PASS | PASS | PASS | FAIL | PASS | — |
| Executing "one-zero" | PASS | PASS | PASS | FAIL | PASS | — |
| Executing "one-pole" | PASS | PASS | PASS | FAIL | PASS | — |
| Executing "0: lowpass" | PASS | PASS | PASS | FAIL | PASS | — |
| Executing "1: highpass" | PASS | PASS | PASS | FAIL | PASS | — |
| Executing "2: bandpass" | PASS | PASS | PASS | FAIL | PASS | — |
| Executing "3: notch" | PASS | PASS | PASS | FAIL | PASS | — |
| Executing "4: allpass" | PASS | PASS | PASS | FAIL | PASS | — |
| Executing "5: lowshelf" | PASS | PASS | PASS | FAIL | PASS | — |
| Executing "6: highshelf" | PASS | PASS | PASS | FAIL | PASS | — |
| Executing "7: peaking" | PASS | PASS | PASS | FAIL | PASS | — |
| Executing "multi-channel" | PASS | PASS | PASS | FAIL | PASS | — |
| Executing "4th-order-iir" | PASS | PASS | PASS | FAIL | PASS | — |
| Audit report | PASS | PASS | PASS | PASS | PASS | — |
| > [coefficient-normalization] | PASS | PASS | PASS | PASS | PASS | — |
| createIIRFilter with normalized coefficients did not throw an exception. | PASS | PASS | PASS | — | PASS | — |
| createIIRFilter with unnormalized coefficients did not throw an exception. | PASS | PASS | PASS | — | PASS | — |
| Output of IIR filter with unnormalized coefficients equals [1,-0.8999999761581421,0.8100000023841858,-0.7289999723434448,0.6560999751091003,-0.5904899835586548,0.5314409732818604,-0.4782969057559967,0.4304672181606293,-0.3874204754829407,0.34867843985557556,-0.3138105869293213,0.2824295461177826,-0.25418657064437866,0.22876793146133423,-0.20589113235473633...] with an element-wise tolerance of {"absoluteThreshold":2.1958e-38,"relativeThreshold":0}. | PASS | PASS | PASS | — | PASS | — |
| < [coefficient-normalization] All assertions passed. (total 3 assertions) | PASS | PASS | PASS | — | PASS | — |
| > [one-zero] | PASS | PASS | PASS | PASS | PASS | — |
| IIR 1-zero output equals [0.5,0.5,0,0,0,0,0,0,0,0,0,0,0,0,0,0...] with an element-wise tolerance of {"absoluteThreshold":0,"relativeThreshold":0}. | PASS | PASS | PASS | — | PASS | — |
| < [one-zero] All assertions passed. (total 1 assertions) | PASS | PASS | PASS | — | PASS | — |
| > [one-pole] | PASS | PASS | PASS | PASS | PASS | — |
| IIR 1-pole output equals [1,-0.9,0.81,-0.7290000000000001,0.6561000000000001,-0.5904900000000002,0.5314410000000002,-0.47829690000000014,0.43046721000000016,-0.38742048900000015,0.34867844010000015,-0.31381059609000017,0.28242953648100017,-0.25418658283290013,0.22876792454961012,-0.2058911320946491...] with an element-wise tolerance of {"absoluteThreshold":2.7657e-8,"relativeThreshold":0}. | PASS | PASS | PASS | — | PASS | — |
| < [one-pole] All assertions passed. (total 1 assertions) | PASS | PASS | PASS | — | PASS | — |
| > [0: lowpass] | PASS | PASS | PASS | PASS | PASS | — |
| IIRFilter for Biquad lowpass equals [0.002067622495815158,0.010262038558721542,0.026408346369862556,0.0501461997628212,0.08106274157762527,0.11869752407073975,0.16254766285419464,0.2120732218027115,0.26670271158218384,0.32583874464035034,0.3888637125492096,0.4551454484462738,0.5240428447723389,0.594911515712738,0.6671090722084045,0.7400005459785461...] with an element-wise tolerance of {"absoluteThreshold":0,"relativeThreshold":0.000049834}. | PASS | — | — | — | — | — |
| SNR for IIRFIlter for Biquad lowpass is greater than or equal to 91.221. | PASS | PASS | PASS | — | PASS | — |
| < [0: lowpass] All assertions passed. (total 2 assertions) | PASS | PASS | PASS | — | PASS | — |
| > [1: highpass] | PASS | PASS | PASS | PASS | PASS | — |
| IIRFilter for Biquad highpass equals [0.9836710095405579,0.9474785923957825,0.904482364654541,0.8552320003509521,0.8003131747245789,0.7403417825698853,0.6759579181671143,0.6078199744224548,0.5365985631942749,0.46297064423561096,0.38761380314826965,0.3112005889415741,0.23439310491085052,0.15783783793449402,0.08216073364019394,0.007962634786963463...] with an element-wise tolerance of {"absoluteThreshold":0.0000029,"relativeThreshold":0.00003}. | PASS | — | — | — | — | — |
| SNR for IIRFIlter for Biquad highpass is greater than or equal to 105.459. | PASS | PASS | PASS | — | PASS | — |
| < [1: highpass] All assertions passed. (total 2 assertions) | PASS | PASS | PASS | — | PASS | — |
| > [2: bandpass] | PASS | PASS | PASS | PASS | PASS | — |
| IIRFilter for Biquad bandpass equals [0.004554244689643383,0.013583214953541756,0.022416498512029648,0.03098210319876671,0.03921092674136162,0.047037310898303986,0.054399557411670685,0.06124040484428406,0.06750746816396713,0.07315362989902496,0.07813739031553268,0.08242315798997879,0.08598149567842484,0.08878931403160095,0.090829998254776,0.09209349006414413...] with an element-wise tolerance of {"absoluteThreshold":2e-7,"relativeThreshold":0.00087}. | PASS | — | — | — | — | — |
| SNR for IIRFIlter for Biquad bandpass is greater than or equal to 104.06. | PASS | PASS | PASS | — | PASS | — |
| < [2: bandpass] All assertions passed. (total 2 assertions) | PASS | PASS | PASS | — | PASS | — |
| > [3: notch] | PASS | PASS | PASS | PASS | PASS | — |
| IIRFilter for Biquad notch equals [0.995445728302002,0.986416757106781,0.9775834679603577,0.9690178632736206,0.9607890248298645,0.9529626369476318,0.9456003904342651,0.9387595653533936,0.9324925541877747,0.926846444606781,0.9218627214431763,0.9175769686698914,0.9140186309814453,0.911210834980011,0.9091701507568359,0.9079066514968872...] with an element-wise tolerance of {"absoluteThreshold":0,"relativeThreshold":0.0000422}. | PASS | — | — | — | — | — |
| SNR for IIRFIlter for Biquad notch is greater than or equal to 91.312. | PASS | PASS | PASS | — | PASS | — |
| < [3: notch] All assertions passed. (total 2 assertions) | PASS | PASS | PASS | — | PASS | — |
| > [4: allpass] | PASS | PASS | PASS | PASS | PASS | — |
| IIRFilter for Biquad allpass equals [0.9908915162086487,0.9728335738182068,0.9551669955253601,0.938035786151886,0.9215781092643738,0.9059253334999084,0.891200840473175,0.8775191307067871,0.8649849891662598,0.8536926507949829,0.8437251448631287,0.8351536393165588,0.8280369639396667,0.8224213123321533,0.8183399438858032,0.8158129453659058...] with an element-wise tolerance of {"absoluteThreshold":0,"relativeThreshold":0.0000431}. | PASS | — | — | — | — | — |
| SNR for IIRFIlter for Biquad allpass is greater than or equal to 91.319. | PASS | PASS | PASS | — | PASS | — |
| < [4: allpass] All assertions passed. (total 2 assertions) | PASS | PASS | PASS | — | PASS | — |
| > [5: lowshelf] | PASS | PASS | PASS | PASS | PASS | — |
| IIRFilter for Biquad lowshelf equals [1.038480281829834,1.1165722608566284,1.1966439485549927,1.2781513929367065,1.3605945110321045,1.4435153007507324,1.5264960527420044,1.6091575622558594,1.6911571025848389,1.7721866369247437,1.8519710302352905,1.9302663803100586,2.0068578720092773,2.0815584659576416,2.1542069911956787,2.224666118621826...] with an element-wise tolerance of {"absoluteThreshold":0,"relativeThreshold":0.0000298}. | PASS | — | — | — | — | — |
| SNR for IIRFIlter for Biquad lowshelf is greater than or equal to 90.609. | PASS | PASS | PASS | — | PASS | — |
| < [5: lowshelf] All assertions passed. (total 2 assertions) | PASS | PASS | PASS | — | PASS | — |
| > [6: highshelf] | PASS | PASS | PASS | PASS | PASS | — |
| IIRFilter for Biquad highshelf equals [3.0451014041900635,2.816114902496338,2.5985426902770996,2.3935580253601074,2.2019755840301514,2.024296998977661,1.8607536554336548,1.7113463878631592,1.5758819580078125,1.4540066719055176,1.3452364206314087,1.2489843368530273,1.164584755897522,1.0913151502609253,1.0284149646759033,0.9751021265983582...] with an element-wise tolerance of {"absoluteThreshold":0,"relativeThreshold":0.0000124}. | PASS | — | — | — | — | — |
| SNR for IIRFIlter for Biquad highshelf is greater than or equal to 103.159. | PASS | PASS | PASS | — | PASS | — |
| < [6: highshelf] All assertions passed. (total 2 assertions) | PASS | PASS | PASS | — | PASS | — |
| > [7: peaking] | PASS | PASS | PASS | PASS | PASS | — |
| IIRFilter for Biquad peaking equals [1.0055487155914307,1.016571283340454,1.0273985862731934,1.0379409790039062,1.0481117963790894,1.0578278303146362,1.0670100450515747,1.0755844116210938,1.083482265472412,1.090640902519226,1.0970042943954468,1.1025232076644897,1.1071557998657227,1.1108678579330444,1.1136330366134644,1.1154330968856812...] with an element-wise tolerance of {"absoluteThreshold":0,"relativeThreshold":0.0000505}. | PASS | — | — | — | — | — |
| SNR for IIRFIlter for Biquad peaking is greater than or equal to 91.504. | PASS | PASS | PASS | — | PASS | — |
| < [7: peaking] All assertions passed. (total 2 assertions) | PASS | PASS | PASS | — | PASS | — |
| > [multi-channel] | PASS | PASS | PASS | PASS | PASS | — |
| Max difference between IIR and Biquad on channel 0 is less than or equal to 0.000037671. | PASS | PASS | PASS | — | PASS | — |
| Max difference between IIR and Biquad on channel 1 is less than or equal to 0.000030071. | PASS | PASS | PASS | — | PASS | — |
| Max difference between IIR and Biquad on channel 2 is less than or equal to 0.000026241. | PASS | PASS | PASS | — | PASS | — |
| < [multi-channel] All assertions passed. (total 3 assertions) | PASS | PASS | PASS | — | PASS | — |
| > [4th-order-iir] | PASS | PASS | PASS | PASS | PASS | — |
| 4-th order IIRFilter (biquad ref) equals [0.000004181719305051956,0.000032965795980999246,0.00012939768203068525,0.0003477365826256573,0.0007387272780761123,0.0013446896336972713,0.0021993760019540787,0.0033279552590101957,0.004747116006910801,0.006465280428528786,0.008482920937240124,0.010792967863380909,0.013381300494074821,0.01622730866074562,0.019304513931274414,0.02258124388754368...] with an element-wise tolerance of {"absoluteThreshold":1.59e-7,"relativeThreshold":0.0000211}. | PASS | — | — | — | — | — |
| SNR of 4-th order IIRFilter (biquad ref) is greater than or equal to 108.947. | PASS | PASS | PASS | — | PASS | — |
| < [4th-order-iir] All assertions passed. (total 2 assertions) | PASS | PASS | PASS | — | PASS | — |
| # AUDIT TASK RUNNER FINISHED: 13 tasks ran successfully. | PASS | PASS | PASS | — | PASS | — |
| IIRFilter for Biquad lowpass equals [0.002067622495815158,0.010262038558721542,0.026408344507217407,0.0501461960375309,0.08106273412704468,0.11869751662015915,0.16254764795303345,0.2120732069015503,0.26670268177986145,0.32583874464035034,0.3888637125492096,0.4551454186439514,0.5240428447723389,0.5949114561080933,0.6671090722084045,0.7400005459785461...] with an element-wise tolerance of {"absoluteThreshold":0,"relativeThreshold":0.000049834}. | — | PASS | PASS | — | PASS | — |
| IIRFilter for Biquad highpass equals [0.9836710095405579,0.9474786520004272,0.9044824242591858,0.8552321195602417,0.8003132939338684,0.7403419613838196,0.6759582161903381,0.6078203320503235,0.5365989208221436,0.462971031665802,0.3876142203807831,0.3112010061740875,0.23439353704452515,0.15783827006816864,0.08216116577386856,0.007963056676089764...] with an element-wise tolerance of {"absoluteThreshold":0.0000029,"relativeThreshold":0.00003}. | — | PASS | PASS | — | PASS | — |
| IIRFilter for Biquad bandpass equals [0.004554244689643383,0.01358321588486433,0.022416500374674797,0.030982105061411858,0.039210930466651917,0.047037314623594284,0.05439956113696098,0.061240408569574356,0.06750746816396713,0.07315362989902496,0.07813738286495209,0.0824231505393982,0.08598148077726364,0.08878929913043976,0.09082996845245361,0.09209345281124115...] with an element-wise tolerance of {"absoluteThreshold":2e-7,"relativeThreshold":0.00087}. | — | PASS | PASS | — | PASS | — |
| IIRFilter for Biquad notch equals [0.995445728302002,0.986416757106781,0.9775835275650024,0.9690179228782654,0.9607890844345093,0.9529626965522766,0.9456004500389099,0.9387595653533936,0.9324925541877747,0.9268463850021362,0.9218626022338867,0.9175768494606018,0.9140185117721558,0.9112107157707214,0.9091700315475464,0.9079065322875977...] with an element-wise tolerance of {"absoluteThreshold":0,"relativeThreshold":0.0000422}. | — | PASS | PASS | — | PASS | — |
| IIRFilter for Biquad allpass equals [0.9908915162086487,0.9728335738182068,0.9551669955253601,0.938035786151886,0.9215781688690186,0.9059253931045532,0.8912009000778198,0.8775191903114319,0.8649850487709045,0.8536927700042725,0.8437252044677734,0.8351536989212036,0.8280370235443115,0.8224214315414429,0.8183400630950928,0.8158131241798401...] with an element-wise tolerance of {"absoluteThreshold":0,"relativeThreshold":0.0000431}. | — | PASS | PASS | — | PASS | — |
| IIRFilter for Biquad lowshelf equals [1.038480281829834,1.1165722608566284,1.1966440677642822,1.278151512145996,1.360594630241394,1.443515419960022,1.526496171951294,1.609157681465149,1.6911571025848389,1.7721866369247437,1.851970911026001,1.930266261100769,2.0068578720092773,2.0815584659576416,2.1542069911956787,2.224666118621826...] with an element-wise tolerance of {"absoluteThreshold":0,"relativeThreshold":0.0000298}. | — | PASS | PASS | — | PASS | — |
| IIRFilter for Biquad highshelf equals [3.0451014041900635,2.816114664077759,2.5985424518585205,2.3935577869415283,2.2019753456115723,2.024296998977661,1.8607537746429443,1.7113466262817383,1.5758823156356812,1.4540070295333862,1.345236897468567,1.2489848136901855,1.1645853519439697,1.091315746307373,1.0284156799316406,0.975102961063385...] with an element-wise tolerance of {"absoluteThreshold":0,"relativeThreshold":0.0000124}. | — | PASS | PASS | — | PASS | — |
| IIRFilter for Biquad peaking equals [1.0055487155914307,1.016571283340454,1.0273985862731934,1.0379410982131958,1.048111915588379,1.0578279495239258,1.0670101642608643,1.0755844116210938,1.0834821462631226,1.0906407833099365,1.0970040559768677,1.1025229692459106,1.107155442237854,1.1108675003051758,1.1136326789855957,1.1154327392578125...] with an element-wise tolerance of {"absoluteThreshold":0,"relativeThreshold":0.0000505}. | — | PASS | PASS | — | PASS | — |
| 4-th order IIRFilter (biquad ref) equals [0.000004181719305051956,0.000032965795980999246,0.00012939768203068525,0.0003477365826256573,0.0007387272780761123,0.0013446897501125932,0.0021993762347847223,0.0033279559575021267,0.0047471169382333755,0.006465281825512648,0.008482922799885273,0.010792970657348633,0.013381303288042545,0.01622731238603592,0.019304519519209862,0.022581251338124275...] with an element-wise tolerance of {"absoluteThreshold":1.59e-7,"relativeThreshold":0.0000211}. | — | PASS | PASS | — | PASS | — |
| X createIIRFilter with normalized coefficients incorrectly threw TypeError: "undefined is not a function (evaluated from 'context.createIIRFilter')". | — | — | — | FAIL | — | — |
| X createIIRFilter with unnormalized coefficients incorrectly threw TypeError: "undefined is not a function (evaluated from 'context.createIIRFilter')". | — | — | — | FAIL | — | — |
| # AUDIT TASK RUNNER FINISHED: 1 out of 13 tasks were failed. | — | — | — | FAIL | — | — |