Web Audio
Widely available
The Web Audio API creates graphs of audio nodes that handle sound inputs, synthesize sounds, apply effects, create visualizations, and output to audio devices.
Compatibility (view on caniuse.com)
- Chrome 35 Released on 2014-05-20
- Chrome Android 35 Released on 2014-05-20
- Edge 12 Released on 2015-07-29
- Firefox 25 Released on 2013-10-29
- Firefox for Android 25 Released on 2013-10-29
- Safari 14.1 Released on 2021-04-26
- Safari on iOS 14.5 Released on 2021-04-26
MDN docs
- AnalyserNode
- AnalyserNode.AnalyserNode
- AnalyserNode.fftSize
- AnalyserNode.frequencyBinCount
- AnalyserNode.getByteFrequencyData
- AnalyserNode.getByteTimeDomainData
- AnalyserNode.getFloatFrequencyData
- AnalyserNode.getFloatTimeDomainData
- AnalyserNode.maxDecibels
- AnalyserNode.minDecibels
- AnalyserNode.smoothingTimeConstant
- AudioBuffer
- AudioBuffer.AudioBuffer
- AudioBuffer.copyFromChannel
- AudioBuffer.copyToChannel
- AudioBuffer.duration
- AudioBuffer.getChannelData
- AudioBuffer.length
- AudioBuffer.numberOfChannels
- AudioBuffer.sampleRate
- AudioBufferSourceNode
- AudioBufferSourceNode.AudioBufferSourceNode
- AudioBufferSourceNode.buffer
- AudioBufferSourceNode.detune
- AudioBufferSourceNode.loop
- AudioBufferSourceNode.loopEnd
- AudioBufferSourceNode.loopStart
- AudioBufferSourceNode.playbackRate
- AudioBufferSourceNode.start
- AudioContext
- AudioContext.AudioContext
- AudioContext.baseLatency
- AudioContext.close
- AudioContext.createMediaElementSource
- AudioContext.createMediaStreamDestination
- AudioContext.createMediaStreamSource
- AudioContext.createMediaStreamTrackSource
- AudioContext.getOutputTimestamp
- AudioContext.outputLatency
- AudioContext.resume
- AudioContext.suspend
- AudioDestinationNode
- AudioDestinationNode.maxChannelCount
- AudioListener
- AudioListener.forwardX
- AudioListener.forwardY
- AudioListener.forwardZ
- AudioListener.positionX
- AudioListener.positionY
- AudioListener.positionZ
- AudioListener.upX
- AudioListener.upY
- AudioListener.upZ
- AudioNode
- AudioNode.channelCount
- AudioNode.channelCountMode
- AudioNode.channelInterpretation
- AudioNode.connect
- AudioNode.context
- AudioNode.disconnect
- AudioNode.numberOfInputs
- AudioNode.numberOfOutputs
- AudioParam
- AudioParam.cancelAndHoldAtTime
- AudioParam.cancelScheduledValues
- AudioParam.defaultValue
- AudioParam.exponentialRampToValueAtTime
- AudioParam.linearRampToValueAtTime
- AudioParam.maxValue
- AudioParam.minValue
- AudioParam.setTargetAtTime
- AudioParam.setValueAtTime
- AudioParam.setValueCurveAtTime
- AudioParam.value
- AudioParamMap
- AudioScheduledSourceNode
- AudioScheduledSourceNode.ended_event
- AudioScheduledSourceNode.start
- AudioScheduledSourceNode.stop
- BaseAudioContext
- BaseAudioContext.createAnalyser
- BaseAudioContext.createBiquadFilter
- BaseAudioContext.createBuffer
- BaseAudioContext.createBufferSource
- BaseAudioContext.createChannelMerger
- BaseAudioContext.createChannelSplitter
- BaseAudioContext.createConstantSource
- BaseAudioContext.createConvolver
- BaseAudioContext.createDelay
- BaseAudioContext.createDynamicsCompressor
- BaseAudioContext.createGain
- BaseAudioContext.createIIRFilter
- BaseAudioContext.createOscillator
- BaseAudioContext.createPanner
- BaseAudioContext.createPeriodicWave
- BaseAudioContext.createStereoPanner
- BaseAudioContext.createWaveShaper
- BaseAudioContext.currentTime
- BaseAudioContext.decodeAudioData
- BaseAudioContext.destination
- BaseAudioContext.listener
- BaseAudioContext.sampleRate
- BaseAudioContext.state
- BaseAudioContext.statechange_event
- BiquadFilterNode
- BiquadFilterNode.BiquadFilterNode
- BiquadFilterNode.Q
- BiquadFilterNode.detune
- BiquadFilterNode.frequency
- BiquadFilterNode.gain
- BiquadFilterNode.getFrequencyResponse
- BiquadFilterNode.type
- ChannelMergerNode
- ChannelMergerNode.ChannelMergerNode
- ChannelSplitterNode
- ChannelSplitterNode.ChannelSplitterNode
- ConstantSourceNode
- ConstantSourceNode.ConstantSourceNode
- ConstantSourceNode.offset
- ConvolverNode
- ConvolverNode.ConvolverNode
- ConvolverNode.buffer
- ConvolverNode.normalize
- DelayNode
- DelayNode.DelayNode
- DelayNode.delayTime
- DynamicsCompressorNode
- DynamicsCompressorNode.DynamicsCompressorNode
- DynamicsCompressorNode.attack
- DynamicsCompressorNode.knee
- DynamicsCompressorNode.ratio
- DynamicsCompressorNode.reduction
- DynamicsCompressorNode.release
- DynamicsCompressorNode.threshold
- GainNode
- GainNode.GainNode
- GainNode.gain
- IIRFilterNode
- IIRFilterNode.IIRFilterNode
- IIRFilterNode.getFrequencyResponse
- MediaElementAudioSourceNode
- MediaElementAudioSourceNode.MediaElementAudioSourceNode
- MediaElementAudioSourceNode.mediaElement
- MediaStreamAudioDestinationNode
- MediaStreamAudioDestinationNode.MediaStreamAudioDestinationNode
- MediaStreamAudioDestinationNode.stream
- MediaStreamAudioSourceNode
- MediaStreamAudioSourceNode.MediaStreamAudioSourceNode
- MediaStreamAudioSourceNode.mediaStream
- MediaStreamTrackAudioSourceNode
- MediaStreamTrackAudioSourceNode.MediaStreamTrackAudioSourceNode
- OscillatorNode
- OscillatorNode.OscillatorNode
- OscillatorNode.detune
- OscillatorNode.frequency
- OscillatorNode.setPeriodicWave
- OscillatorNode.type
- PannerNode
- PannerNode.PannerNode
- PannerNode.coneInnerAngle
- PannerNode.coneOuterAngle
- PannerNode.coneOuterGain
- PannerNode.distanceModel
- PannerNode.maxDistance
- PannerNode.orientationX
- PannerNode.orientationY
- PannerNode.orientationZ
- PannerNode.panningModel
- PannerNode.positionX
- PannerNode.positionY
- PannerNode.positionZ
- PannerNode.refDistance
- PannerNode.rolloffFactor
- PeriodicWave
- PeriodicWave.PeriodicWave
- StereoPannerNode
- StereoPannerNode.StereoPannerNode
- StereoPannerNode.pan
- WaveShaperNode
- WaveShaperNode.WaveShaperNode
- WaveShaperNode.curve
- WaveShaperNode.oversample
Specifications
- Web Audio API, from Audio Working Group (W3C).
BCD data
- 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.baseLatency
- api.AudioContext.close
- api.AudioContext.createMediaElementSource
- api.AudioContext.createMediaStreamDestination
- api.AudioContext.createMediaStreamSource
- api.AudioContext.createMediaStreamTrackSource
- api.AudioContext.getOutputTimestamp
- api.AudioContext.outputLatency
- api.AudioContext.resume
- api.AudioContext.suspend
- api.AudioDestinationNode
- api.AudioDestinationNode.maxChannelCount
- api.AudioListener
- api.AudioListener.forwardX
- api.AudioListener.forwardY
- api.AudioListener.forwardZ
- api.AudioListener.positionX
- api.AudioListener.positionY
- api.AudioListener.positionZ
- api.AudioListener.upX
- api.AudioListener.upY
- api.AudioListener.upZ
- api.AudioNode
- api.AudioNode.channelCount
- api.AudioNode.channelCountMode
- api.AudioNode.channelInterpretation
- api.AudioNode.connect
- api.AudioNode.context
- api.AudioNode.disconnect
- 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.AudioScheduledSourceNode
- api.AudioScheduledSourceNode.ended_event
- api.AudioScheduledSourceNode.start
- api.AudioScheduledSourceNode.stop
- 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.createStereoPanner
- api.BaseAudioContext.createWaveShaper
- api.BaseAudioContext.currentTime
- api.BaseAudioContext.decodeAudioData
- 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