Click here to download the Blitz Browser!

WPT

wpt / webaudio / the-audio-api / the-analysernode-interface / ctor-analyser.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

ChromeFirefoxSafariLadybirdServoBlitz
Total78/7878/7878/7878/7878/78NOT RUN
SubtestChromeFirefoxSafariLadybirdServoBlitz
# AUDIT TASK RUNNER STARTED.PASSPASSPASSPASSPASS
Executing "initialize"PASSPASSPASSPASSPASS
Executing "invalid constructor"PASSPASSPASSPASSPASS
Executing "default constructor"PASSPASSPASSPASSPASS
Executing "test AudioNodeOptions"PASSPASSPASSPASSPASS
Executing "constructor with options"PASSPASSPASSPASSPASS
Executing "construct invalid options"PASSPASSPASSPASSPASS
Executing "setting min/max"PASSPASSPASSPASSPASS
Audit reportPASSPASSPASSPASSPASS
> [initialize] PASSPASSPASSPASSPASS
context = new OfflineAudioContext(...) did not throw an exception.PASSPASSPASSPASSPASS
< [initialize] All assertions passed. (total 1 assertions)PASSPASSPASSPASSPASS
> [invalid constructor] PASSPASSPASSPASSPASS
new AnalyserNode() threw TypeError: "Failed to construct 'AnalyserNode': 1 argument required, but only 0 present.".PASS
new AnalyserNode(1) threw TypeError: "Failed to construct 'AnalyserNode': parameter 1 is not of type 'BaseAudioContext'.".PASS
new AnalyserNode(context, 42) threw TypeError: "Failed to construct 'AnalyserNode': The provided value is not of type 'AnalyserOptions'.".PASS
< [invalid constructor] All assertions passed. (total 3 assertions)PASSPASSPASSPASSPASS
> [default constructor] PASSPASSPASSPASSPASS
node0 = new AnalyserNode(context) did not throw an exception.PASSPASSPASSPASSPASS
node0 instanceof AnalyserNode is equal to true.PASSPASSPASSPASSPASS
node0.numberOfInputs is equal to 1.PASSPASSPASSPASSPASS
node0.numberOfOutputs is equal to 1.PASSPASSPASSPASSPASS
node0.channelCount is equal to 2.PASSPASSPASSPASSPASS
node0.channelCountMode is equal to max.PASSPASSPASSPASSPASS
node0.channelInterpretation is equal to speakers.PASSPASSPASSPASSPASS
node0.fftSize is equal to 2048.PASSPASSPASSPASSPASS
node0.frequencyBinCount is equal to 1024.PASSPASSPASSPASSPASS
node0.minDecibels is equal to -100.PASSPASSPASSPASSPASS
node0.maxDecibels is equal to -30.PASSPASSPASSPASSPASS
node0.smoothingTimeConstant is equal to 0.8.PASSPASSPASSPASSPASS
< [default constructor] All assertions passed. (total 12 assertions)PASSPASSPASSPASSPASS
> [test AudioNodeOptions] PASSPASSPASSPASSPASS
new AnalyserNode(c, {channelCount: 17}) did not throw an exception.PASSPASSPASSPASSPASS
node.channelCount is equal to 17.PASSPASSPASSPASSPASS
new AnalyserNode(c, {channelCount: 0}) threw NotSupportedError: "Failed to construct 'AnalyserNode': The channel count provided (0) is outside the range [1, 32].".PASS
new AnalyserNode(c, {channelCount: 99}) threw NotSupportedError: "Failed to construct 'AnalyserNode': The channel count provided (99) is outside the range [1, 32].".PASS
new AnalyserNode(c, {channelCountMode: "max"} did not throw an exception.PASSPASSPASSPASSPASS
node.channelCountMode is equal to max.PASSPASSPASSPASSPASS
new AnalyserNode(c, {channelCountMode: "max"}) did not throw an exception.PASSPASSPASSPASSPASS
node.channelCountMode after valid setter is equal to max.PASSPASSPASSPASSPASS
new AnalyserNode(c, {channelCountMode: "clamped-max"}) did not throw an exception.PASSPASSPASSPASSPASS
node.channelCountMode after valid setter is equal to clamped-max.PASSPASSPASSPASSPASS
new AnalyserNode(c, {channelCountMode: "explicit"}) did not throw an exception.PASSPASSPASSPASSPASS
node.channelCountMode after valid setter is equal to explicit.PASSPASSPASSPASSPASS
new AnalyserNode(c, {channelCountMode: "foobar"} threw TypeError: "Failed to construct 'AnalyserNode': Failed to read the 'channelCountMode' property from 'AudioNodeOptions': The provided value 'foobar' is not a valid enum value of type ChannelCountMode.".PASS
node.channelCountMode after invalid setter is equal to explicit.PASSPASSPASSPASSPASS
new AnalyserNode(c, {channelInterpretation: "speakers"}) did not throw an exception.PASSPASSPASSPASSPASS
node.channelInterpretation is equal to speakers.PASSPASSPASSPASSPASS
new AnalyserNode(c, {channelInterpretation: "discrete"}) did not throw an exception.PASSPASSPASSPASSPASS
node.channelInterpretation is equal to discrete.PASSPASSPASSPASSPASS
new AnalyserNode(c, {channelInterpretation: "foobar"}) threw TypeError: "Failed to construct 'AnalyserNode': Failed to read the 'channelInterpretation' property from 'AudioNodeOptions': The provided value 'foobar' is not a valid enum value of type ChannelInterpretation.".PASS
node.channelInterpretation after invalid setter is equal to discrete.PASSPASSPASSPASSPASS
< [test AudioNodeOptions] All assertions passed. (total 20 assertions)PASSPASSPASSPASSPASS
> [constructor with options] PASSPASSPASSPASSPASS
node1 = new AnalyserNode(c, {"fftSize":32,"maxDecibels":1,"minDecibels":-13,"smoothingTimeConstant":0.125}) did not throw an exception.PASSPASSPASSPASSPASS
node1 instanceof AnalyserNode is equal to true.PASSPASSPASSPASSPASS
node1.fftSize is equal to 32.PASSPASSPASSPASSPASS
node1.maxDecibels is equal to 1.PASSPASSPASSPASSPASS
node1.minDecibels is equal to -13.PASSPASSPASSPASSPASS
node1.smoothingTimeConstant is equal to 0.125.PASSPASSPASSPASSPASS
< [constructor with options] All assertions passed. (total 6 assertions)PASSPASSPASSPASSPASS
> [construct invalid options] PASSPASSPASSPASSPASS
node = new AnalyserNode(c, { fftSize: 33 }) threw IndexSizeError: "Failed to construct 'AnalyserNode': The value provided (33) is not a power of two.".PASS
node = new AnalyserNode(c, { maxDecibels: -500 }) threw IndexSizeError: "Failed to construct 'AnalyserNode': maxDecibels (-500) must be greater than or equal to minDecibels ( -100).".PASS
node = new AnalyserNode(c, { minDecibels: -10 }) threw IndexSizeError: "Failed to construct 'AnalyserNode': maxDecibels (-30) must be greater than or equal to minDecibels ( -10).".PASS
node = new AnalyserNode(c, { smoothingTimeConstant: 2 }) threw IndexSizeError: "Failed to construct 'AnalyserNode': The smoothing value provided (2) is outside the range [0, 1].".PASS
node = new AnalyserNode(c, { frequencyBinCount: 33 }) did not throw an exception.PASSPASSPASSPASSPASS
node.frequencyBinCount is equal to 1024.PASSPASSPASSPASSPASS
< [construct invalid options] All assertions passed. (total 6 assertions)PASSPASSPASSPASSPASS
> [setting min/max] PASSPASSPASSPASSPASS
node = new AnalyserNode(c, {"minDecibels":-10,"maxDecibels":20}) did not throw an exception.PASSPASSPASSPASSPASS
node = new AnalyserNode(c, {"maxDecibels":20,"minDecibels":-10}) did not throw an exception.PASSPASSPASSPASSPASS
node = new AnalyserNode(c, {"minDecibels":-200,"maxDecibels":-150}) did not throw an exception.PASSPASSPASSPASSPASS
node = new AnalyserNode(c, {"maxDecibels":-150,"minDecibels":-200}) did not throw an exception.PASSPASSPASSPASSPASS
node = new AnalyserNode(c, {"maxDecibels":-150,"minDecibels":-10}) threw IndexSizeError: "Failed to construct 'AnalyserNode': maxDecibels (-150) must be greater than or equal to minDecibels ( -10).".PASS
node = new AnalyserNode(c, {"minDecibels":-10,"maxDecibels":-150}) threw IndexSizeError: "Failed to construct 'AnalyserNode': maxDecibels (-150) must be greater than or equal to minDecibels ( -10).".PASS
< [setting min/max] All assertions passed. (total 6 assertions)PASSPASSPASSPASSPASS
# AUDIT TASK RUNNER FINISHED: 7 tasks ran successfully.PASSPASSPASSPASSPASS
new AnalyserNode() threw TypeError: "AnalyserNode constructor: At least 1 argument required, but only 0 passed".PASS
new AnalyserNode(1) threw TypeError: "AnalyserNode constructor: Argument 1 is not an object.".PASS
new AnalyserNode(context, 42) threw TypeError: "AnalyserNode constructor: Value can't be converted to a dictionary.".PASS
new AnalyserNode(c, {channelCount: 0}) threw NotSupportedError: "AnalyserNode constructor: Channel count (0) must be in the range [1, max supported channel count]".PASS
new AnalyserNode(c, {channelCount: 99}) threw NotSupportedError: "AnalyserNode constructor: Channel count (99) must be in the range [1, max supported channel count]".PASS
new AnalyserNode(c, {channelCountMode: "foobar"} threw TypeError: "AnalyserNode constructor: 'foobar' (value of 'channelCountMode' member of AudioNodeOptions) is not a valid value for enumeration ChannelCountMode.".PASS
new AnalyserNode(c, {channelInterpretation: "foobar"}) threw TypeError: "AnalyserNode constructor: 'foobar' (value of 'channelInterpretation' member of AudioNodeOptions) is not a valid value for enumeration ChannelInterpretation.".PASS
node = new AnalyserNode(c, { fftSize: 33 }) threw IndexSizeError: "AnalyserNode constructor: FFT size 33 is not a power of two in the range 32 to 32768".PASS
node = new AnalyserNode(c, { maxDecibels: -500 }) threw IndexSizeError: "AnalyserNode constructor: minDecibels value (-100) must be smaller than maxDecibels value (-500)".PASS
node = new AnalyserNode(c, { minDecibels: -10 }) threw IndexSizeError: "AnalyserNode constructor: minDecibels value (-10) must be smaller than maxDecibels value (-30)".PASS
node = new AnalyserNode(c, { smoothingTimeConstant: 2 }) threw IndexSizeError: "AnalyserNode constructor: 2 is not in the range [0, 1]".PASS
node = new AnalyserNode(c, {"maxDecibels":-150,"minDecibels":-10}) threw IndexSizeError: "AnalyserNode constructor: minDecibels value (-10) must be smaller than maxDecibels value (-150)".PASS
node = new AnalyserNode(c, {"minDecibels":-10,"maxDecibels":-150}) threw IndexSizeError: "AnalyserNode constructor: minDecibels value (-10) must be smaller than maxDecibels value (-150)".PASS
new AnalyserNode() threw TypeError: "Not enough arguments".PASS
new AnalyserNode(1) threw TypeError: "Argument 1 ('context') to the AnalyserNode constructor must be an instance of BaseAudioContext".PASS
new AnalyserNode(context, 42) threw TypeError: "Type error".PASS
new AnalyserNode(c, {channelCount: 0}) threw NotSupportedError: "Channel count cannot be 0".PASS
new AnalyserNode(c, {channelCount: 99}) threw NotSupportedError: "Channel count exceeds maximum limit".PASS
new AnalyserNode(c, {channelCountMode: "foobar"} threw TypeError: "Type error".PASS
new AnalyserNode(c, {channelInterpretation: "foobar"}) threw TypeError: "Type error".PASS
node = new AnalyserNode(c, { fftSize: 33 }) threw IndexSizeError: "fftSize must be power of 2 in the range 32 to 32768.".PASS
node = new AnalyserNode(c, { maxDecibels: -500 }) threw IndexSizeError: "minDecibels must be less than maxDecibels.".PASS
node = new AnalyserNode(c, { minDecibels: -10 }) threw IndexSizeError: "minDecibels must be less than maxDecibels.".PASS
node = new AnalyserNode(c, { smoothingTimeConstant: 2 }) threw IndexSizeError: "Smoothing time constant needs to be between 0 and 1.".PASS
node = new AnalyserNode(c, {"maxDecibels":-150,"minDecibels":-10}) threw IndexSizeError: "minDecibels must be less than maxDecibels.".PASS
node = new AnalyserNode(c, {"minDecibels":-10,"maxDecibels":-150}) threw IndexSizeError: "minDecibels must be less than maxDecibels.".PASS
new AnalyserNode() threw TypeError: "Not enough arguments to "AnalyserNode.constructor".".PASS
new AnalyserNode(1) threw TypeError: "Value is not an object.".PASS
new AnalyserNode(context, 42) threw TypeError: "Value is not an object.".PASS
new AnalyserNode(c, {channelCount: 0}) threw NotSupportedError: "The operation is not supported.".PASS
new AnalyserNode(c, {channelCount: 99}) threw NotSupportedError: "The operation is not supported.".PASS
new AnalyserNode(c, {channelCountMode: "foobar"} threw TypeError: "'foobar' is not a valid enum value for enumeration 'ChannelCountMode'.".PASS
new AnalyserNode(c, {channelInterpretation: "foobar"}) threw TypeError: "'foobar' is not a valid enum value for enumeration 'ChannelInterpretation'.".PASS
node = new AnalyserNode(c, { fftSize: 33 }) threw IndexSizeError: "The index is not in the allowed range.".PASS
node = new AnalyserNode(c, { maxDecibels: -500 }) threw IndexSizeError: "The index is not in the allowed range.".PASS
node = new AnalyserNode(c, { minDecibels: -10 }) threw IndexSizeError: "The index is not in the allowed range.".PASS
node = new AnalyserNode(c, { smoothingTimeConstant: 2 }) threw IndexSizeError: "The index is not in the allowed range.".PASS
node = new AnalyserNode(c, {"maxDecibels":-150,"minDecibels":-10}) threw IndexSizeError: "The index is not in the allowed range.".PASS
node = new AnalyserNode(c, {"minDecibels":-10,"maxDecibels":-150}) threw IndexSizeError: "The index is not in the allowed range.".PASS
new AnalyserNode() threw TypeError: "AnalyserNode() needs one argument".PASS
new AnalyserNode(1) threw TypeError: "Not an object of type BaseAudioContext".PASS
new AnalyserNode(context, 42) threw TypeError: "Not an object of type AnalyserOptions".PASS
new AnalyserNode(c, {channelCount: 0}) threw NotSupportedError: "Invalid channel count".PASS
new AnalyserNode(c, {channelCount: 99}) threw NotSupportedError: "Invalid channel count".PASS
new AnalyserNode(c, {channelCountMode: "foobar"} threw TypeError: "Invalid value 'foobar' for enumeration type 'ChannelCountMode'".PASS
new AnalyserNode(c, {channelInterpretation: "foobar"}) threw TypeError: "Invalid value 'foobar' for enumeration type 'ChannelInterpretation'".PASS
node = new AnalyserNode(c, { fftSize: 33 }) threw IndexSizeError: "Analyser node fftSize not a power of 2 between 32 and 32768".PASS
node = new AnalyserNode(c, { maxDecibels: -500 }) threw IndexSizeError: "Analyser node minDecibels greater than maxDecibels".PASS
node = new AnalyserNode(c, { minDecibels: -10 }) threw IndexSizeError: "Analyser node minDecibels greater than maxDecibels".PASS
node = new AnalyserNode(c, { smoothingTimeConstant: 2 }) threw IndexSizeError: "Analyser node smoothingTimeConstant not between 0.0 and 1.0".PASS
node = new AnalyserNode(c, {"maxDecibels":-150,"minDecibels":-10}) threw IndexSizeError: "Analyser node minDecibels greater than maxDecibels".PASS
node = new AnalyserNode(c, {"minDecibels":-10,"maxDecibels":-150}) threw IndexSizeError: "Analyser node minDecibels greater than maxDecibels".PASS