-
-
Notifications
You must be signed in to change notification settings - Fork 60
Implementing a Custom Decoder
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.
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.
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.
Custom decoder development is available as a service, for inquiries contact: [email protected]
© 2023 Envelop, a 501(c)(3)
Envelop is a nonprofit organization that amplifies the unifying power of music through immersive listening spaces, events, and open-source spatial audio software.