Ableton Shaper but Triggered via Sidechain - Commission!

Evan Chandler's icon

I am very passionate about Sidechain compression in Ableton. I think the tools that are available for accurate sidechaining are hugely limited in terms of workflow. So I propose a new type of sidechain compression.

Imagine an Ableton Shaper that you can map to anything like the gain knob on a utility or gain of a specific freq band on an eq. Then imagine that this shaper only executes it's shape and automation upon receiving a signal from somewhere else.

Some friends and I made a prototype of this using the Max MIDI Sender from the Max 7 Pitch and Time Machines pack but we have learned that MIDI sending in this way with M4L doesn't have low enough of predictable latency. My new plan is to have these two devices built and send/receive messages with audio instead.

1. SENDER - A m4l instrument that outputs a very very short burst of noise at a specific volume depending on incoming velocity of the midi note. On the interface of this device you will have the option of selecting which, for lack of a better word, "PORTAL" to send this sidechain message through. Perhaps we could have 12 "portals".

2. RECEIVING SHAPER - A m4l audio effect that is basically a Shaper but does nothing until an audio message is received via the selected "portal". Once it received an audio message, it uses the volume of the audio message to determine the depth of the Shaper. Then it executes the shape. Whatever the Shaper is mapped to, then this will be modulated.

From here I can imagine a drum rack with an instrument rack on a cell containing 2 chains, one plays your kick drum sample and the other contains a SENDER sending messages on PORTAL 1. Then another cell setup the same for the snare drum sending on PORTAL 2.

Now, over on your bassline you have a RECEIVING SHAPER receiving messages on PORTAL 1 and modulating the gain knob of a utility. And another RECEIVING SHAPER receiving messages on PORTAL 2 and modulating a second utility. All of this could be in a nice neat Audio Effects Rack and so long as the RECEIVING SHAPERs are receiving on the correct portal, you can then copy paste this rack to anything else in your project which you would like to sidechain and perhaps dial in the depth of modulation, how fast the shape speed is etc.. on all the different elements of your song.

If you think you can tackle a project like this, I'm definitely open to discussing a price with you.
If you like you can contact me directly at slynk@slynk.net
Thankyou.

Roman Thilenius's icon


"doesn't have low enough of predictable latency"

same with inter-plugin audio.

Evan Chandler's icon

Surely there must be some way to achieve a low latency. Some kind of work around. Any ideas?

Isabel Kaspriskie's icon

For anyone interested in a zero-latency version of this that uses MIDI, I made a quick mod/mash-up of the new Live 11 MIDI routing feature with the Shaper device.

You can have one MIDI track with all the triggers on it which then sends out to any number of shapers. It also still has the usual parameter mapping possibilities, but the "Duck" feature (which is, by default, on) does gain automation you're looking for.

Not sure if this might suit the need :)

benj3737's icon

Maybe I'm missing something, but I I feel like the built-in 'Envelope' device does this. It turns a midi note into a shape. Not sure if it's velocity sensitive, though...
Maybe you could hack it

Evan Chandler's icon

The device that Isabel posted is ALMOST exactly what I'm looking for. The latency is perfect. And rather than having some kind of "SENDER" you can just select your midi source directly on the Shaper (see screenshot below). But unfortunately the length and depth knobs do nothing. I think it's a little bit broken haha! The length knob needs to determine the amount of time the shape takes to execute and the depth needs to adjust how deep the duck is. Like, how far down does the gain drop when the shape is triggered? I don't think we have use for the jitter percentage. I do like the smooth percentage though. If you draw a rough curve and need to smooth it. But honestly, we could do without both.

So this shaper is hardwired to affect the gain and the ability to map the shape to anything has been removed. I wonder if this is because mapping introduces an unacceptable amount of latency that wouldn't work for super accurate sidechaining or if it was to keep the plugin very simple. In an ideal world, I think leaving it up to the user to decide what the shape modulates could create some interesting creative uses like.. sidechaining the wet/dry on a reverb or something!

BenJ3737, the problem with the Envelope is that it is a MIDI effect and therefore can't be placed on an audio channel. I understand that you could map the Envelope to a gain knob on another audio track but that really sucks from a workflow point of view. Plus, once I've used up all all the mapping, I need to duplicate the Envelope so that I can map more things? Also, maybe I want a tighter sidechain on one thing (a different length) but if I change the Envelope timing, it changes it for everything it is mapped to. It's not ideal but it's kinda on the right track.

Isabel Kaspriskie's icon

Ah, I see how it doesn't quite fill the need.

For those passersby, I just fixed the length/depth issue. I think I didn't properly freeze the device (which is why some of those icons are missing in the above screenshot. If everything's in place, it should look like:

In any case, perhaps this is still a starting point for someone who takes this on. :)

Roman Thilenius's icon


it is amazing that in 2020 you still have to find fixes for workarounds of workarounds and whole teams of experts are scratching their heads only to apply sidechain compressing or midi controlled envelope generators in live... and that the most elegant solution are still third party VST plug-ins which handle that on their own.

Evan Chandler's icon

Roman, I disagree with you when you say that 3rd party VSTs are the most elegant solution. I think the opposite actually. LFO Tool or Gatekeeper work fine but the problem is workflow. Let's say for example I have 5 different audio channels that I would like to sidechain to the kick and snare of my project. But I want slightly different settings for each channel. To do this with LFO Tool would be a workflow nightmare. Let me explain.

The LFO Tool and other similar VSTs do not have the ability to choose where to listen to the midi signal from. You can only direct midi information into it using a midi channel. Midi channels only have one output so you need a new midi channel for every instance of LFO Tool. So if I want to sidechain 5 different audio channels (with different settings on each) I need 5 LFO Tools and 5 duplicate midi channels to send to each LFO Tool. That's just for the Kick. Now, potentially, I need to do this all again for the Snare as well if I wanted kick and snare to sidechain with different settings. So you can see how this quickly becomes a nightmare for workflow.

It's clunky as hell. If we could select a midi channel to listen to on the LFO Tool itself then it would be fantastic. We would only need one midi channel as the trigger source and all the duplicate LFO Tools would listen to the same channel, but this is not possible. I have emailed Steve Duda about it already. It makes sense because this routing wouldn't be possible across multiple DAWs.

So m4l and the new live 11 midi routing is the answer. Isabel's device above just needs to be refined and a few extra features added. It's so close to perfect.

BTW, for anyone else reading, I asked Isabel if it would be possible to give the user the ability to map the Shaper to anything rather than hard wiring it to Gain but this introduces an unpredictable and unacceptable amount of latency unfortunately. I still think it would be cool for creative uses where latency isn't as much of an issue. But for the use of sidechain as a mixdown tool, it needs to always be perfectly accurate with no latency.

Roman Thilenius's icon


i can follow you, but it seems i didnt express myself correctly. :)

what i meant to say is that among the actually existing solutions using plug-ins with sidechain outputs and custom inter-plugin streaming is the most elegant solution.

it would be so great if my 20 years old waves compressor would work the same way like orange vocoder and pluggo allows me to, but it doesnt, it does the "mono" trick which requries rerouting and rearranging of the project and that gets really complicated when you want to process in M/S in addition.

the current chaos with ableton is not my business and not my main interest, but i look at this discussion since 10+ years now and users are still unhappy with routing, and the more new features are added to this program, the less it seems to work.

what you basically need to do for sidechaining is either

1. let plug-ins send audio to each other without of with a known and fixed latency; VST allows it, not everyone uses it, logic used to make trouble with VSTs which do that, max5live plug-ins do not support it at all.

2. have some kind of splitting function in the host application, that could be an abstraction of the AUX out principle or something similar. this obviously also do not exist.

and as i have to read here, it also seems to be complicated to do it with control rate?

using VST plug-ins is totally easy in my opinion. you just need to insert another VST plug-in, which passes audio but in addition passes a copy to a custom stream, wich then can be adressed to the compressor (or the other way round.)

this is the same principle you would do it when your analog mixer doesnt have AUXes, and then you use a splitter or matrixmixer and patch the sidechain signals from there to the effects.

with VST3 it is even easier - given that gou can freely route channels into channels (which in live isnt the case because it does even support the idea of virtual mixer channels)

and dont forget that the good old "dual mono trick" also wont work in live.

"So if I want to sidechain 5 different audio channels (with different settings on each) I need 5 LFO Tools and 5 duplicate midi channels"

in a proper enviroment, which doesnt f*ck with your audio, you could also just make a device which splits the audio 5 times. that is how i do it in VST hosts with pluggo and that is also how you woudl do it in max runtime.

that is 2 lines of code. you can patch that on the fly during composition and mixing if required.

i would prefer to post a solution instead of moaning but i am not able to.