Get to know MDN better
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
The ChannelSplitterNode interface, often used in conjunction with its opposite, ChannelMergerNode, separates the different channels of an audio source into a set of mono outputs. This is useful for accessing each channel separately, e.g., for performing channel mixing where gain must be separately controlled on each channel.
If your ChannelSplitterNode always has one single input, the amount of outputs is defined by a parameter on its constructor and the call to AudioContext.createChannelSplitter(). In the case that no value is given, it will default to 6. If there are fewer channels in the input than there are outputs, supernumerary outputs are silent.
EventTarget AudioNode ChannelSplitterNode| 1 |
| variable; defaults to 6. |
| "explicit". Older implementations, as per earlier versions of the spec use "max". |
| Fixed to the number of outputs. Older implementations, as per earlier versions of the spec use 2 (not used in the default count mode). |
| "discrete" |
Creates a new ChannelSplitterNode object instance.
No specific property; inherits properties from its parent, AudioNode.
No specific method; inherits methods from its parent, AudioNode.
See BaseAudioContext.createChannelSplitter() for example code.
| Web Audio API # ChannelSplitterNode |
Enable JavaScript to view this browser compatibility table.
This page was last modified on Jan 25, 2026 by MDN contributors.
Your blueprint for a better internet.
Visit Mozilla Corporation’s not-for-profit parent, the Mozilla Foundation.
Portions of this content are ©1998–2026 by individual mozilla.org contributors. Content available under a Creative Commons license.