Skip to content

Implementing a Custom Decoder

Mark Slee edited this page Sep 20, 2023 · 12 revisions

The E4L Master Bus supports loading any max patcher with 16 inputs and 16 outputs as a custom decoder. If you have a unique multi-channel speaker setup, you can write your own Max patch and load it as a decoder.

Reference decoders are located at:
https://github.com/EnvelopSound/EnvelopForLive/tree/master/patchers/decoder

For an extremely basic reference on the structure of a decoder patch, consult the e4l.decoder.example patch file.

The 16 in~ objects receive Ambisonics-domain spatial audio in AmbiX format (ACN channel ordering with SN3D weighting). The 16 out~ objects can output whatever type of decoded or transformed audio you like.

For an example of a very straightforward single-plane decoder, look at the e4l.decoder.octo patch, which decodes 8 channels of audio using the ambidecode~ object and the e4l.ambidecode.angles abstraction to specify the radial positions.

Note that decoder patches should not use the adc~ or dac~ objects. The decoder runs inside the E4L Master Bus device and uses Ableton's Max for Live plugin routing for input and output. The adc~ and dac~ objects will not operate as expected in this environment.

Loading Your Decoder

To load your custom decoder in the E4L Master Bus device, choose the Custom... option in the Decoder dropdown. A file chooser dialog box will open, allowing you to select your own custom .maxpat file with a decoder implementation.

E4L Master Bus Custom Decoder

Remote Decoding

If you are using a system with a high number of output channels, it may be preferable to decode the Ambisonics signal on a separate process or machine. For this situation, use the AmbiX decoder (e4l.decoder.ambisonics) to route the AmbiX-format Ambisonics audio out of Ableton Live 10 to a separate machine (or another local process, using a utility like Loopback or JACK).

The separate process may be written in Max, or any other programming language capable of operating on audio streams with low latency.

Decoder Development

Custom decoder development is available as a service, for inquiries contact: [email protected]

Envelop is a nonprofit organization that amplifies the unifying power of music through immersive listening spaces, events, and open-source spatial audio software.

Clone this wiki locally