Click here to download the Blitz Browser!

WPT

wpt / webaudio / the-audio-api / the-pannernode-interface / panner-automation-basic.html

Spec: Web Audio API ↗

Runs: Chrome 155.0.8043.0 (wpt@b89af32bc, 2026-09-05) | Firefox 157.0a1 (wpt@b89af32bc, 2026-09-05) | Safari 251 preview (wpt@9b965429d, 2026-09-05) | Ladybird 1.0-d25dc (wpt@b89af32bc, 2026-09-05) | Servo Servo 0.6 (wpt@2c385f65e, 2026-09-04) | Blitz a50cb8971 (wpt@a95401e4e, 2026-09-03)

View on the Blitz WPT dashboard | Open test on wpt.live | wpt.fyi

ChromeFirefoxSafariLadybirdServoBlitz
Total147/14719/147147/147147/14719/147NOT RUN
SubtestChromeFirefoxSafariLadybirdServoBlitz
# AUDIT TASK RUNNER STARTED.PASSPASSPASSPASSPASS
Executing "Stereo panner.positionX"PASSFAILPASSPASSFAIL
Executing "Mono panner.positionX"PASSFAILPASSPASSFAIL
Executing "Stereo panner.positionY"PASSFAILPASSPASSFAIL
Executing "Mono panner.positionY"PASSFAILPASSPASSFAIL
Executing "Stereo panner.positionZ"PASSFAILPASSPASSFAIL
Executing "Mono panner.positionZ"PASSFAILPASSPASSFAIL
Executing "Stereo listener.positionX"PASSFAILPASSPASSFAIL
Executing "Mono listener.positionX"PASSFAILPASSPASSFAIL
Executing "Stereo listener.positionY"PASSFAILPASSPASSFAIL
Executing "Mono listener.positionY"PASSFAILPASSPASSFAIL
Executing "Stereo listener.positionZ"PASSFAILPASSPASSFAIL
Executing "Mono listener.positionZ"PASSFAILPASSPASSFAIL
Executing "setPosition"PASSFAILPASSPASSFAIL
Executing "orientation setter"PASSFAILPASSPASSFAIL
Executing "forward setter"PASSFAILPASSPASSFAIL
Executing "up setter"PASSFAILPASSPASSFAIL
Audit reportPASSPASSPASSPASSPASS
> [Stereo panner.positionX] PASSPASSPASSPASSPASS
Stereo panner.positionX.value frame [0, 128) channel 0 contains only the constant 6.123234262925839e-17.PASSPASS
Stereo panner.positionX.value frame [0, 128) channel 1 contains only the constant 3.PASSPASSPASS
Stereo panner.positionX.value frame [128, 256) channel 0 contains only the constant 6.123233968888981e-21.PASSPASS
Stereo panner.positionX.value frame [128, 256) channel 1 contains only the constant 0.00029999998514540493.PASSPASSPASS
Stereo panner.positionX: Output at frame 128 channel 0 is not equal to 6.123234262925839e-17.PASSPASS
Stereo panner.positionX: Output at frame 128 channel 1 is not equal to 3.PASSPASSPASS
< [Stereo panner.positionX] All assertions passed. (total 6 assertions)PASSPASSPASS
> [Mono panner.positionX] PASSPASSPASSPASSPASS
Mono panner.positionX.value frame [0, 128) channel 0 contains only the constant 6.123234262925839e-17.PASSPASS
Mono panner.positionX.value frame [0, 128) channel 1 contains only the constant 1.PASSPASSPASS
Mono panner.positionX.value frame [128, 256) channel 0 contains only the constant 6.123233968888981e-21.PASSPASS
Mono panner.positionX.value frame [128, 256) channel 1 contains only the constant 0.00009999999747378752.PASSPASSPASS
Mono panner.positionX: Output at frame 128 channel 0 is not equal to 6.123234262925839e-17.PASSPASS
Mono panner.positionX: Output at frame 128 channel 1 is not equal to 1.PASSPASSPASS
< [Mono panner.positionX] All assertions passed. (total 6 assertions)PASSPASSPASS
> [Stereo panner.positionY] PASSPASSPASSPASSPASS
Stereo panner.positionY.value frame [0, 128) channel 0 contains only the constant 1.PASSPASSPASS
Stereo panner.positionY.value frame [0, 128) channel 1 contains only the constant 2.PASSPASSPASS
Stereo panner.positionY.value frame [128, 256) channel 0 contains only the constant 0.00009999999747378752.PASSPASSPASS
Stereo panner.positionY.value frame [128, 256) channel 1 contains only the constant 0.00019999999494757503.PASSPASSPASS
Stereo panner.positionY: Output at frame 128 channel 0 is not equal to 1.PASSPASSPASS
Stereo panner.positionY: Output at frame 128 channel 1 is not equal to 2.PASSPASSPASS
< [Stereo panner.positionY] All assertions passed. (total 6 assertions)PASSPASSPASS
> [Mono panner.positionY] PASSPASSPASSPASSPASS
Mono panner.positionY.value frame [0, 128) channel 0 contains only the constant 0.7071067690849304.PASSPASSPASS
Mono panner.positionY.value frame [0, 128) channel 1 contains only the constant 0.7071067690849304.PASSPASSPASS
Mono panner.positionY.value frame [128, 256) channel 0 contains only the constant 0.00007071067375363782.PASSPASSPASS
Mono panner.positionY.value frame [128, 256) channel 1 contains only the constant 0.00007071067375363782.PASSPASSPASS
Mono panner.positionY: Output at frame 128 channel 0 is not equal to 0.7071067690849304.PASSPASSPASS
Mono panner.positionY: Output at frame 128 channel 1 is not equal to 0.7071067690849304.PASSPASSPASS
< [Mono panner.positionY] All assertions passed. (total 6 assertions)PASSPASSPASS
> [Stereo panner.positionZ] PASSPASSPASSPASSPASS
Stereo panner.positionZ.value frame [0, 128) channel 0 contains only the constant 1.PASSPASSPASS
Stereo panner.positionZ.value frame [0, 128) channel 1 contains only the constant 2.PASSPASSPASS
Stereo panner.positionZ.value frame [128, 256) channel 0 contains only the constant 0.00009999999747378752.PASSPASSPASS
Stereo panner.positionZ.value frame [128, 256) channel 1 contains only the constant 0.00019999999494757503.PASSPASSPASS
Stereo panner.positionZ: Output at frame 128 channel 0 is not equal to 1.PASSPASSPASS
Stereo panner.positionZ: Output at frame 128 channel 1 is not equal to 2.PASSPASSPASS
< [Stereo panner.positionZ] All assertions passed. (total 6 assertions)PASSPASSPASS
> [Mono panner.positionZ] PASSPASSPASSPASSPASS
Mono panner.positionZ.value frame [0, 128) channel 0 contains only the constant 0.7071067690849304.PASSPASSPASS
Mono panner.positionZ.value frame [0, 128) channel 1 contains only the constant 0.7071067690849304.PASSPASSPASS
Mono panner.positionZ.value frame [128, 256) channel 0 contains only the constant 0.00007071067375363782.PASSPASSPASS
Mono panner.positionZ.value frame [128, 256) channel 1 contains only the constant 0.00007071067375363782.PASSPASSPASS
Mono panner.positionZ: Output at frame 128 channel 0 is not equal to 0.7071067690849304.PASSPASSPASS
Mono panner.positionZ: Output at frame 128 channel 1 is not equal to 0.7071067690849304.PASSPASSPASS
< [Mono panner.positionZ] All assertions passed. (total 6 assertions)PASSPASSPASS
> [Stereo listener.positionX] PASSPASSPASSPASSPASS
Stereo listener.positionX.value frame [0, 128) channel 0 contains only the constant 1.PASSPASSPASS
Stereo listener.positionX.value frame [0, 128) channel 1 contains only the constant 2.PASSPASSPASS
Stereo listener.positionX.value frame [128, 256) channel 0 contains only the constant 0.00030002999119460583.PASSPASSPASS
Stereo listener.positionX.value frame [128, 256) channel 1 contains only the constant 0.PASS
Stereo listener.positionX: Output at frame 128 channel 0 is not equal to 1.PASSPASSPASS
Stereo listener.positionX: Output at frame 128 channel 1 is not equal to 2.PASSPASSPASS
< [Stereo listener.positionX] All assertions passed. (total 6 assertions)PASSPASSPASS
> [Mono listener.positionX] PASSPASSPASSPASSPASS
Mono listener.positionX.value frame [0, 128) channel 0 contains only the constant 0.7071067690849304.PASSPASSPASS
Mono listener.positionX.value frame [0, 128) channel 1 contains only the constant 0.7071067690849304.PASSPASSPASS
Mono listener.positionX.value frame [128, 256) channel 0 contains only the constant 0.00010001000191550702.PASSPASSPASS
Mono listener.positionX.value frame [128, 256) channel 1 contains only the constant 0.PASS
Mono listener.positionX: Output at frame 128 channel 0 is not equal to 0.7071067690849304.PASSPASSPASS
Mono listener.positionX: Output at frame 128 channel 1 is not equal to 0.7071067690849304.PASSPASSPASS
< [Mono listener.positionX] All assertions passed. (total 6 assertions)PASSPASSPASS
> [Stereo listener.positionY] PASSPASSPASSPASSPASS
Stereo listener.positionY.value frame [0, 128) channel 0 contains only the constant 0.40824827551841736.PASSPASSPASS
Stereo listener.positionY.value frame [0, 128) channel 1 contains only the constant 1.5629488229751587.PASSPASSPASS
Stereo listener.positionY.value frame [128, 256) channel 0 contains only the constant 0.0000707106664776802.PASSPASS
Stereo listener.positionY.value frame [128, 256) channel 1 contains only the constant 0.00027071067597717047.PASSPASSPASS
Stereo listener.positionY: Output at frame 128 channel 0 is not equal to 0.40824827551841736.PASSPASSPASS
Stereo listener.positionY: Output at frame 128 channel 1 is not equal to 1.5629488229751587.PASSPASSPASS
< [Stereo listener.positionY] All assertions passed. (total 6 assertions)PASSPASSPASS
> [Mono listener.positionY] PASSPASSPASSPASSPASS
Mono listener.positionY.value frame [0, 128) channel 0 contains only the constant 0.22094237804412842.PASSPASSPASS
Mono listener.positionY.value frame [0, 128) channel 1 contains only the constant 0.5334020853042603.PASSPASSPASS
Mono listener.positionY.value frame [128, 256) channel 0 contains only the constant 0.00003826833926723339.PASSPASS
Mono listener.positionY.value frame [128, 256) channel 1 contains only the constant 0.00009238795610144734.PASSPASS
Mono listener.positionY: Output at frame 128 channel 0 is not equal to 0.22094237804412842.PASSPASSPASS
Mono listener.positionY: Output at frame 128 channel 1 is not equal to 0.5334020853042603.PASSPASSPASS
< [Mono listener.positionY] All assertions passed. (total 6 assertions)PASSPASSPASS
> [Stereo listener.positionZ] PASSPASSPASSPASSPASS
Stereo listener.positionZ.value frame [0, 128) channel 0 contains only the constant 6.123234262925839e-17.PASSPASS
Stereo listener.positionZ.value frame [0, 128) channel 1 contains only the constant 3.PASSPASSPASS
Stereo listener.positionZ.value frame [128, 256) channel 0 contains only the constant 0.00010001000191550702.PASSPASSPASS
Stereo listener.positionZ.value frame [128, 256) channel 1 contains only the constant 0.00020003000099677593.PASSPASSPASS
Stereo listener.positionZ: Output at frame 128 channel 0 is not equal to 6.123234262925839e-17.PASSPASS
Stereo listener.positionZ: Output at frame 128 channel 1 is not equal to 3.PASSPASSPASS
< [Stereo listener.positionZ] All assertions passed. (total 6 assertions)PASSPASSPASS
> [Mono listener.positionZ] PASSPASSPASSPASSPASS
Mono listener.positionZ.value frame [0, 128) channel 0 contains only the constant 6.123234262925839e-17.PASSPASS
Mono listener.positionZ.value frame [0, 128) channel 1 contains only the constant 1.PASSPASSPASS
Mono listener.positionZ.value frame [128, 256) channel 0 contains only the constant 0.00007071421714499593.PASSPASSPASS
Mono listener.positionZ.value frame [128, 256) channel 1 contains only the constant 0.0000707212820998393.PASSPASSPASS
Mono listener.positionZ: Output at frame 128 channel 0 is not equal to 6.123234262925839e-17.PASSPASS
Mono listener.positionZ: Output at frame 128 channel 1 is not equal to 1.PASSPASSPASS
< [Mono listener.positionZ] All assertions passed. (total 6 assertions)PASSPASSPASS
> [setPosition] PASSPASSPASSPASSPASS
setPosition.value frame [0, 128) channel 0 contains only the constant 0.40824827551841736.PASSPASSPASS
setPosition.value frame [0, 128) channel 1 contains only the constant 1.5629488229751587.PASSPASSPASS
setPosition.value frame [128, 256) channel 0 contains only the constant 0.000124290119856596.PASSPASS
setPosition.value frame [128, 256) channel 1 contains only the constant 0.0002424988488201052.PASSPASSPASS
setPosition: Output at frame 128 channel 0 is not equal to 0.40824827551841736.PASSPASSPASS
setPosition: Output at frame 128 channel 1 is not equal to 1.5629488229751587.PASSPASSPASS
< [setPosition] All assertions passed. (total 6 assertions)PASSPASSPASS
> [orientation setter] PASSPASSPASSPASSPASS
panner.orientation{XYZ}.value frame [0, 128) channel 0 contains only the constant 0.5005000233650208.PASSPASSPASS
panner.orientation{XYZ}.value frame [0, 128) channel 1 contains only the constant 1.0010000467300415.PASSPASSPASS
panner.orientation{XYZ}.value frame [128, 256) channel 0 contains only the constant 0.07899462431669235.PASS
panner.orientation{XYZ}.value frame [128, 256) channel 1 contains only the constant 0.1579892486333847.PASS
panner.orientation{XYZ}: Output at frame 128 channel 0 is not equal to 0.5005000233650208.PASSPASSPASS
panner.orientation{XYZ}: Output at frame 128 channel 1 is not equal to 1.0010000467300415.PASSPASSPASS
< [orientation setter] All assertions passed. (total 6 assertions)PASSPASSPASS
> [forward setter] PASSPASSPASSPASSPASS
listener.forward{XYZ}.value frame [0, 128) channel 0 contains only the constant 0.5005000233650208.PASSPASSPASS
listener.forward{XYZ}.value frame [0, 128) channel 1 contains only the constant 1.0010000467300415.PASSPASSPASS
listener.forward{XYZ}.value frame [128, 256) channel 0 contains only the constant 0.5133963823318481.PASSPASS
listener.forward{XYZ}.value frame [128, 256) channel 1 contains only the constant 1.0009169578552246.PASSPASSPASS
listener.forward{XYZ}: Output at frame 128 channel 0 is not equal to 0.5005000233650208.PASSPASSPASS
listener.forward{XYZ}: Output at frame 128 channel 1 is not equal to 1.0010000467300415.PASSPASSPASS
< [forward setter] All assertions passed. (total 6 assertions)PASSPASSPASS
> [up setter] PASSPASSPASSPASSPASS
listener.up{XYZ}.value frame [0, 128) channel 0 contains only the constant 0.12537500262260437.PASSPASSPASS
listener.up{XYZ}.value frame [0, 128) channel 1 contains only the constant 0.47998905181884766.PASSPASS
listener.up{XYZ}.value frame [128, 256) channel 0 contains only the constant 0.1447705775499344.PASSPASS
listener.up{XYZ}.value frame [128, 256) channel 1 contains only the constant 0.4569823145866394.PASS
listener.up{XYZ}: Output at frame 128 channel 0 is not equal to 0.12537500262260437.PASSPASSPASS
listener.up{XYZ}: Output at frame 128 channel 1 is not equal to 0.47998905181884766.PASSPASS
< [up setter] All assertions passed. (total 6 assertions)PASSPASSPASS
# AUDIT TASK RUNNER FINISHED: 16 tasks ran successfully.PASSPASSPASSPASSPASS
Stereo listener.positionX.value frame [128, 256) channel 1 contains only the constant 5.326854929377234e-11.PASS
Mono listener.positionX.value frame [128, 256) channel 1 contains only the constant 1.3317137323443085e-11.PASS
panner.orientation{XYZ}.value frame [128, 256) channel 0 contains only the constant 0.07899458706378937.PASS
panner.orientation{XYZ}.value frame [128, 256) channel 1 contains only the constant 0.15798917412757874.PASS
listener.up{XYZ}.value frame [0, 128) channel 1 contains only the constant 0.47998911142349243.PASS
listener.up{XYZ}.value frame [128, 256) channel 0 contains only the constant 0.14477059245109558.PASS
listener.up{XYZ}.value frame [128, 256) channel 1 contains only the constant 0.4569823741912842.PASS
listener.up{XYZ}: Output at frame 128 channel 1 is not equal to 0.47998911142349243.PASS
Stereo panner.positionX.value frame [0, 128) channel 0 contains only the constant 6.123031769111886e-17.PASS
Stereo panner.positionX.value frame [128, 256) channel 0 contains only the constant 6.123031616600461e-21.PASS
Stereo panner.positionX: Output at frame 128 channel 0 is not equal to 6.123031769111886e-17.PASS
Mono panner.positionX.value frame [0, 128) channel 0 contains only the constant 6.123031769111886e-17.PASS
Mono panner.positionX.value frame [128, 256) channel 0 contains only the constant 6.123031616600461e-21.PASS
Mono panner.positionX: Output at frame 128 channel 0 is not equal to 6.123031769111886e-17.PASS
Stereo listener.positionX.value frame [128, 256) channel 1 contains only the constant 2.000400023405291e-8.PASS
Mono listener.positionX.value frame [128, 256) channel 1 contains only the constant 5.0010000585132275e-9.PASS
Stereo listener.positionY.value frame [128, 256) channel 0 contains only the constant 0.00007071067375363782.PASS
Mono listener.positionY.value frame [128, 256) channel 0 contains only the constant 0.000038268342905212194.PASS
Mono listener.positionY.value frame [128, 256) channel 1 contains only the constant 0.00009238794882548973.PASS
Stereo listener.positionZ.value frame [0, 128) channel 0 contains only the constant 6.123031769111886e-17.PASS
Stereo listener.positionZ: Output at frame 128 channel 0 is not equal to 6.123031769111886e-17.PASS
Mono listener.positionZ.value frame [0, 128) channel 0 contains only the constant 6.123031769111886e-17.PASS
Mono listener.positionZ: Output at frame 128 channel 0 is not equal to 6.123031769111886e-17.PASS
setPosition.value frame [128, 256) channel 0 contains only the constant 0.00012429013440851122.PASS
panner.orientation{XYZ}.value frame [128, 256) channel 0 contains only the constant 0.07899460941553116.PASS
panner.orientation{XYZ}.value frame [128, 256) channel 1 contains only the constant 0.15798921883106232.PASS
listener.forward{XYZ}.value frame [128, 256) channel 0 contains only the constant 0.5133965015411377.PASS
listener.up{XYZ}.value frame [128, 256) channel 1 contains only the constant 0.456982284784317.PASS