EnvelopSound / EnvelopForLive

Free, open-source tools for Ambisonic 3D panning within Max for Live 10+
http://www.envelop.us/
GNU General Public License v2.0
479 stars 59 forks source link

Mono output routing in Master Bus #45

Open marcuswrango opened 6 years ago

marcuswrango commented 6 years ago

Hi!

Thanks for a great set of softwares!

I work at two places with different loudspeaker setups, and one system is having a channel ordering based on film industry standards. i.e. L, R, C, LFE, etc.. This makes everything ambisonic a bit tiring, as one need to put some channel ordering and skipping in-between stuff. So as Ableton is so stereo focused I totally understand that you chose to do the output routing in stereo pairs. But it would be very nice if there was a possibility to use mono channels instead, or give an option to the user. It would solve a lot of problems in different setups.

Best regards, Marcus

mcslee commented 6 years ago

Hi Marcus - if you wish to extract mono outputs from the E4L Master Bus decoder, there is another way to do it through Ableton's channel routing functionality. This will require a few extra channels, but it enables more versatility than we are able to build in directly to the E4L Master Bus device.

First, make sure your mono outputs are enabled in Ableton preferences. mono outputs enabled

Set your decoder on the E4L Master bus, disable "Monitor 1+2" and don't make any output routing assignments.

e4l master settings

Now you can set up additional tracks in Ableton that are set to take audio input from the E4L Master Bus device. The decoder outputs go on the device's auxiliary channels 3/4, 5/6, 7/8, etc...

routing channels

You can use the "Utility" device on these channels to separate a stereo source into just one of its mono components.

utility selection

I know this is a bit more work, but unfortunately everything is stereo inside of Ableton, building a mono selector into the E4L Master Bus would be nice, but the code for doing that inside of Max may unfortunately become quite a mess. If this is a common situation for you, I recommend making yourself an Ableton template set with this routing already configured, and then you can build your projects from there.

marcuswrango commented 6 years ago

Cool! Thanks for the great workaround, I will try it out.

vredalertv commented 4 years ago

Mcslee, this worked! BRILLIANT. For 7.1, i think its working pretty good - but I can discuss a small issue I seem to have in seperation from Back and Side in the panner later.

But I have a 9.4.4 system for my studio (FL, FR, Fr Height L, Fr Height R, Side L, Side R, Back L, Back R, 4 Subs, 4 Ceiling (independently contolled)... and am thinking to expand to 24 real monitors including center channels in all axises!

(edit I want to also add floor channel speakers ASAP)

I noticed there is a custom option in Decoder and it looks for a file, could I get a 9.1.4 or 9.4.4 (mixing the subs with the FLR,BACKLR) somehow. I believe this is done by math algorithm to calculate right?

Cheers!

V

mcslee commented 4 years ago

Hey Val great to hear that this is working.

For larger setups there are two ways to go, you can define your own Max decoder patch to decode directly within ableton, up to a maximum of 16 channels. Or you can use the AmbiX decode option to send the raw ambisonics signal to another program (either on the same computer using something like Loopback to route audio between programs, or on two different machines), this supports as many speaker channels as your sound card can drive. For 9.4.4 you would need to work that way as this is beyond the 16-channel limit.

There’s some documentation on how this works on the wiki page:

https://github.com/EnvelopSound/EnvelopForLive/wiki#advanced-usage

https://github.com/EnvelopSound/EnvelopForLive/wiki/Implementing-a-Custom-Decoder

You can also take a look at the decoders we use for our system, basically you would just need to modify those to have your particular number of speakers, and enter the details of your speaker angles.

Our decoders, for working directly wi turn ableton, are in this folder: https://github.com/EnvelopSound/EnvelopForLive/tree/master/patchers/decoder

The remote standalone patchers (for systems with high speaker counts) are here: https://github.com/EnvelopSound/EnvelopForLive/tree/master/patchers/remote

Let us know how it goes!

On Wed, Apr 8, 2020 at 8:32 AM vredalertv notifications@github.com wrote:

Mcslee, this worked! BRILLIANT. For 7.1, i think its working pretty good - but I can discuss a small issue I seem to have in seperation from Back and Side in the panner later.

But I have a 9.4.4 system for my studio (FL, FR, Fr Height L, Fr Height R, Side L, Side R, Back L, Back R, 4 Subs, 4 Ceiling (independently contolled)... and am thinking to expand to 24 real monitors including center channels in all axises!

I noticed there is a custom option in Decoder and it looks for a file, could I get a 9.1.4 or 9.4.4 (mixing the subs with the FLR,BACKLR) somehow. I believe this is done by math algorithm to calculate right?

Cheers!

Val Kolton

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/EnvelopSound/EnvelopForLive/issues/45#issuecomment-610961537, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAER6WVLKZ7TQYDHNT7NTX3RLR4F3ANCNFSM4FQJDU5Q .

ricdap commented 2 years ago

First of all congratulations on your work. I'm sorry to resume this old thread but I have a clarification to ask you: with this technique illustrated here if I launch a render in Live of each single track (mono) will I get the decoder components? for example if the E4l master bus is set to Quad will I get the four single channels? Thanks in advance

mcslee commented 2 years ago

with this technique illustrated here if I launch a render in Live of each single track (mono) will I get the decoder components? for example if the E4l master bus is set to Quad will I get the four single channels? Thanks in advance

The technique shown here, you should not use the "Export Audio/Video" feature of Ableton Live. An Ableton export will capture only mono/stereo output from the rendered track.

If you want to record the four channels of the Quad decoder, set up your E4L Master Bus with the Quad decoder as follows:

Screen Shot 2022-03-22 at 9 14 28 AM

Then create two Ableton tracks, set them to receive the outputs 3/4 and 5/6 from the E4L Master Bus, arm both those tracks, and use the main Ableton transport controls to Record. Those tracks will now capture the raw decoded channels from the quad decoder (as two stereo files).

Screen Shot 2022-03-22 at 9 14 45 AM

You can then locate these files on disk:

Screen Shot 2022-03-22 at 9 16 11 AM

Any audio file editor can split them to two mono files if you prefer.

ricdap commented 2 years ago

Wow, fantastic! It works perfectly. Thanks again for your work. One more question: to monitor the mix when I'm not recording can I move the monitor switch to in instead of off? does this affect the decoding of the master bus?

mcslee commented 2 years ago

The monitor switch controls whether the first two decoded channels are sent to the Ableton master bus. You can turn this on/off as you like, it won't affect the decoding or the recording. Note that if you're using the quad decoder, this means you'll only get the first two channels coming out the Ableton master bus.

If you make Output Routing assignments in the E4L Master Bus device, those will apply regardless of the monitor settings. So if you're using Quad and want to listen to your quad system while recording, the best thing to do is to leave Monitor off, but assign Output Routing 1/2 and 3/4 in the E4L Master Bus device to whichever of your soundcard outputs go to the appropriate speakers.

ricdap commented 2 years ago

got it! thanks