BASELINE NowYouCanUse.com
Widely Available Web audio

Web Audio

The Web Audio API creates graphs of audio nodes that handle sound inputs, synthesize sounds, apply effects, create visualizations, and output to audio devices.
Baseline Status: Achieved Widely Available on Oct 26, 2023 (Cross-browser Newly Available since Apr 26, 2021).
Desktop Browser Engine Support
Google Chrome
35
Supported
Mozilla Firefox
25
Supported
Apple Safari
14.1
Supported
Microsoft Edge
12
Supported
Mobile Browser Engine Support
Chrome Android
35
Firefox Android
25
Safari iOS
14.5
Specifications and References
MDN Browser Compat Data Keys:
api.AnalyserNode ↗ api.AnalyserNode.AnalyserNode ↗ api.AnalyserNode.fftSize ↗ api.AnalyserNode.frequencyBinCount ↗ api.AnalyserNode.getByteFrequencyData ↗ api.AnalyserNode.getByteTimeDomainData ↗ api.AnalyserNode.getFloatFrequencyData ↗ api.AnalyserNode.getFloatTimeDomainData ↗ api.AnalyserNode.maxDecibels ↗ api.AnalyserNode.minDecibels ↗ api.AnalyserNode.smoothingTimeConstant ↗ api.AudioBuffer ↗ api.AudioBuffer.AudioBuffer ↗ api.AudioBuffer.copyFromChannel ↗ api.AudioBuffer.copyToChannel ↗ api.AudioBuffer.duration ↗ api.AudioBuffer.getChannelData ↗ api.AudioBuffer.length ↗ api.AudioBuffer.numberOfChannels ↗ api.AudioBuffer.sampleRate ↗ api.AudioBufferSourceNode ↗ api.AudioBufferSourceNode.AudioBufferSourceNode ↗ api.AudioBufferSourceNode.buffer ↗ api.AudioBufferSourceNode.detune ↗ api.AudioBufferSourceNode.loop ↗ api.AudioBufferSourceNode.loopEnd ↗ api.AudioBufferSourceNode.loopStart ↗ api.AudioBufferSourceNode.playbackRate ↗ api.AudioBufferSourceNode.start ↗ api.AudioContext ↗ api.AudioContext.AudioContext ↗ api.AudioContext.AudioContext.options_latencyHint_parameter ↗ api.AudioContext.AudioContext.options_sampleRate_parameter ↗ api.AudioContext.AudioContext.options_sinkId_parameter ↗ api.AudioContext.baseLatency ↗ api.AudioContext.close ↗ api.AudioContext.createMediaElementSource ↗ api.AudioContext.createMediaStreamDestination ↗ api.AudioContext.createMediaStreamSource ↗ api.AudioContext.createMediaStreamTrackSource ↗ api.AudioContext.error_event ↗ api.AudioContext.getOutputTimestamp ↗ api.AudioContext.outputLatency ↗ api.AudioContext.resume ↗ api.AudioContext.setSinkId ↗ api.AudioContext.sinkId ↗ api.AudioContext.sinkchange_event ↗ api.AudioContext.suspend ↗ api.AudioDestinationNode ↗ api.AudioDestinationNode.maxChannelCount ↗ api.AudioNode ↗ api.AudioNode.channelCount ↗ api.AudioNode.channelCountMode ↗ api.AudioNode.channelInterpretation ↗ api.AudioNode.connect ↗ api.AudioNode.context ↗ api.AudioNode.disconnect ↗ api.AudioNode.disconnect.destination_parameter ↗ api.AudioNode.disconnect.input_parameter ↗ api.AudioNode.numberOfInputs ↗ api.AudioNode.numberOfOutputs ↗ api.AudioParam ↗ api.AudioParam.automationRate ↗ api.AudioParam.cancelAndHoldAtTime ↗ api.AudioParam.cancelScheduledValues ↗ api.AudioParam.defaultValue ↗ api.AudioParam.exponentialRampToValueAtTime ↗ api.AudioParam.linearRampToValueAtTime ↗ api.AudioParam.maxValue ↗ api.AudioParam.minValue ↗ api.AudioParam.setTargetAtTime ↗ api.AudioParam.setValueAtTime ↗ api.AudioParam.setValueCurveAtTime ↗ api.AudioParam.value ↗ api.AudioParamMap ↗ api.AudioParamMap.@@iterator ↗ api.AudioParamMap.entries ↗ api.AudioParamMap.forEach ↗ api.AudioParamMap.get ↗ api.AudioParamMap.has ↗ api.AudioParamMap.keys ↗ api.AudioParamMap.size ↗ api.AudioParamMap.values ↗ api.AudioScheduledSourceNode ↗ api.AudioScheduledSourceNode.ended_event ↗ api.AudioScheduledSourceNode.start ↗ api.AudioScheduledSourceNode.stop ↗ api.AudioSinkInfo ↗ api.AudioSinkInfo.type ↗ api.BaseAudioContext ↗ api.BaseAudioContext.createAnalyser ↗ api.BaseAudioContext.createBiquadFilter ↗ api.BaseAudioContext.createBuffer ↗ api.BaseAudioContext.createBufferSource ↗ api.BaseAudioContext.createChannelMerger ↗ api.BaseAudioContext.createChannelSplitter ↗ api.BaseAudioContext.createConstantSource ↗ api.BaseAudioContext.createConvolver ↗ api.BaseAudioContext.createDelay ↗ api.BaseAudioContext.createDynamicsCompressor ↗ api.BaseAudioContext.createGain ↗ api.BaseAudioContext.createIIRFilter ↗ api.BaseAudioContext.createOscillator ↗ api.BaseAudioContext.createPanner ↗ api.BaseAudioContext.createPeriodicWave ↗ api.BaseAudioContext.createPeriodicWave.constraints_disableNormalization_parameter ↗ api.BaseAudioContext.createStereoPanner ↗ api.BaseAudioContext.createWaveShaper ↗ api.BaseAudioContext.currentTime ↗ api.BaseAudioContext.decodeAudioData ↗ api.BaseAudioContext.decodeAudioData.returns_promise ↗ api.BaseAudioContext.destination ↗ api.BaseAudioContext.listener ↗ api.BaseAudioContext.sampleRate ↗ api.BaseAudioContext.state ↗ api.BaseAudioContext.statechange_event ↗ api.BiquadFilterNode ↗ api.BiquadFilterNode.BiquadFilterNode ↗ api.BiquadFilterNode.Q ↗ api.BiquadFilterNode.detune ↗ api.BiquadFilterNode.frequency ↗ api.BiquadFilterNode.gain ↗ api.BiquadFilterNode.getFrequencyResponse ↗ api.BiquadFilterNode.type ↗ api.ChannelMergerNode ↗ api.ChannelMergerNode.ChannelMergerNode ↗ api.ChannelSplitterNode ↗ api.ChannelSplitterNode.ChannelSplitterNode ↗ api.ConstantSourceNode ↗ api.ConstantSourceNode.ConstantSourceNode ↗ api.ConstantSourceNode.offset ↗ api.ConvolverNode ↗ api.ConvolverNode.ConvolverNode ↗ api.ConvolverNode.buffer ↗ api.ConvolverNode.normalize ↗ api.DelayNode ↗ api.DelayNode.DelayNode ↗ api.DelayNode.delayTime ↗ api.DynamicsCompressorNode ↗ api.DynamicsCompressorNode.DynamicsCompressorNode ↗ api.DynamicsCompressorNode.attack ↗ api.DynamicsCompressorNode.knee ↗ api.DynamicsCompressorNode.ratio ↗ api.DynamicsCompressorNode.reduction ↗ api.DynamicsCompressorNode.release ↗ api.DynamicsCompressorNode.threshold ↗ api.GainNode ↗ api.GainNode.GainNode ↗ api.GainNode.gain ↗ api.IIRFilterNode ↗ api.IIRFilterNode.IIRFilterNode ↗ api.IIRFilterNode.getFrequencyResponse ↗ api.MediaElementAudioSourceNode ↗ api.MediaElementAudioSourceNode.MediaElementAudioSourceNode ↗ api.MediaElementAudioSourceNode.mediaElement ↗ api.MediaStreamAudioDestinationNode ↗ api.MediaStreamAudioDestinationNode.MediaStreamAudioDestinationNode ↗ api.MediaStreamAudioDestinationNode.stream ↗ api.MediaStreamAudioSourceNode ↗ api.MediaStreamAudioSourceNode.MediaStreamAudioSourceNode ↗ api.MediaStreamAudioSourceNode.mediaStream ↗ api.MediaStreamTrackAudioSourceNode ↗ api.MediaStreamTrackAudioSourceNode.MediaStreamTrackAudioSourceNode ↗ api.OscillatorNode ↗ api.OscillatorNode.OscillatorNode ↗ api.OscillatorNode.detune ↗ api.OscillatorNode.frequency ↗ api.OscillatorNode.setPeriodicWave ↗ api.OscillatorNode.type ↗ api.PannerNode ↗ api.PannerNode.PannerNode ↗ api.PannerNode.coneInnerAngle ↗ api.PannerNode.coneOuterAngle ↗ api.PannerNode.coneOuterGain ↗ api.PannerNode.distanceModel ↗ api.PannerNode.maxDistance ↗ api.PannerNode.orientationX ↗ api.PannerNode.orientationY ↗ api.PannerNode.orientationZ ↗ api.PannerNode.panningModel ↗ api.PannerNode.positionX ↗ api.PannerNode.positionY ↗ api.PannerNode.positionZ ↗ api.PannerNode.refDistance ↗ api.PannerNode.rolloffFactor ↗ api.PeriodicWave ↗ api.PeriodicWave.PeriodicWave ↗ api.StereoPannerNode ↗ api.StereoPannerNode.StereoPannerNode ↗ api.StereoPannerNode.pan ↗ api.WaveShaperNode ↗ api.WaveShaperNode.WaveShaperNode ↗ api.WaveShaperNode.curve ↗ api.WaveShaperNode.oversample ↗
id: web-audio