side chain compressor

Share what you’d like to see added to Ableton Live.
davidbayles
Posts: 79
Joined: Tue Nov 14, 2006 2:38 pm
Location: Washington, D.C.
Contact:

Post by davidbayles » Tue Apr 17, 2007 6:16 pm

Live could create a device like the Twisted Lemon SideKick V3, except that you could drop any effect on it (which would be applied just before the output) - kind of like a Live Rack. Also, there would be no need for any attack, release, threshold, keying/ducking controls.

Example 1 (Version 2):
You put one instance of the proposed "Sidechain" Live Device on say a kick track - let's call it Sidechain A. Then put another instance, Sidechain B, on a guitar track (and tell Sidechain B to use Sidechain A's output as its input). Then drop an instance of Beat Repeat (or anything else) on Sidechain B's drop zone (just before Sidechain B's output in the signal path).

I thought this was what Twisted Lemon's SideKick V3 did, but it seems to be just a ducking/keying sidechainable gate.

I hope this clarifies what I'm talking about. It's really not that complicated; it just takes a billion words to explain.
Ableton Suite 8 | Max for Live | Logic Studio | MacBook Pro | Saffire PRO 40 | Liquid Mix | TouchOSC | iPhone 4 | ReMOTE SL COMPACT

Nokatus
Posts: 1068
Joined: Fri Jul 01, 2005 7:06 am

Post by Nokatus » Tue Apr 17, 2007 6:18 pm

photonicrecords wrote:I still think we're missing each other a bit. I'm saying there's no difference between reverb and compressor plugins with regards to side-chaining. They're both black boxes with ins and outs.
And I'm saying there is a big difference between reverb and compressor plugins with regards to side-chaining :)

There really, really is.

No parameter in a regular reverb changes according to the material being fed into it. Compressors constantly respond to the signal being fed through them and make adjustments based on that signal, and exactly because this kind of material dependency is going on, a sidechain key can be meaningful.
photonicrecords wrote:In other words, I want to say to a device, "I want you to apply your effect to this track, but I want you to respond like your hearing this other track".
Yep. That's the idea. So, how do you think the output of a reverb placed on track A would change if it responded like it was hearing track B instead of track A? Would it, perhaps, be like applying the reverb on track B in the first place? ;) ... As it's a send effect, why aren't you just sending it the signals you need it to hear? If it's not even about the level of the wet signal, as you said, what does this "fooling the reverb into hearing a different track" accomplish, specifically?
photonicrecords wrote:I'm not talking Dry/Wet, Decay Time, Shape, or any other knobs in the effect. I'm talking about the black box itself, whether it be Reverb, Beat Repeat, Compressor, or anything else.
That's the problem. In order to make sensible use of a sidechain key in a reverb, for example, you really do need it to control some of the effect parameters. Otherwise it's just not built to do anything meaningful with that alternative signal.

davidbayles
Posts: 79
Joined: Tue Nov 14, 2006 2:38 pm
Location: Washington, D.C.
Contact:

Post by davidbayles » Tue Apr 17, 2007 6:25 pm

The point is, I don't want the snare to sound like it's in a room, just the guitar, but only when the snare hits. This can't be accomplished by just putting the reverb on the snare track.
Ableton Suite 8 | Max for Live | Logic Studio | MacBook Pro | Saffire PRO 40 | Liquid Mix | TouchOSC | iPhone 4 | ReMOTE SL COMPACT

Nokatus
Posts: 1068
Joined: Fri Jul 01, 2005 7:06 am

Post by Nokatus » Tue Apr 17, 2007 6:29 pm

photonicrecords wrote:The point is, I don't want the snare to sound like it's in a room, just the guitar, but only when the snare hits. This can't be accomplished by just putting the reverb on the snare track.
And if that is NOT controlling the wet effect level, as you said, and it's NOT controlling any parameters on the reverb effect itself... what is it doing to the reverb effect in order to accomplish this?

[Btw, check out the comment about the gate again. That's most likely what you're after with this example: you're talking about a sidechained gate used in conjunction with a reverb on a return track, or a reverb effect with a built in gate, in this case sporting also a sidechain key input.

Either way, compared to a plain reverb plugin, you would need the added functionality of adjusting something according to amplitude changes. Merely slapping sidechain inputs on a normal reverb plugin, but without adding any functionality that actually reacts to the input amplitude, doesn't magically "make stuff happen."

So, of course, sidechain for Live's own gate would be nice. In any case, at the moment you can achieve the kinds of reverbs you're talking about with any suitable 3rd party sidechain gate. The GAG-1 by Kjaerhus is great.]

davidbayles
Posts: 79
Joined: Tue Nov 14, 2006 2:38 pm
Location: Washington, D.C.
Contact:

Post by davidbayles » Wed Apr 18, 2007 2:42 pm

I'm still not getting it, but I think I see what you're saying. Basically you're saying that a sidechain on reverb is pretty much equivalent to reverb on a return track?

Which of Live's Devices are program dependent? Compressor, Gate, and what else?

Isn't every Device's output dependent on the program (signal) that you feed it? Maybe I just need a better definition of "program dependent". Does program dependent mean that it has a Threshold control? Also maybe define "send effect" for me too. I'm guessing it basically is the opposite of a program dependent effect.

One more thing, the Beat Repeat example.
In your example number 2, this particular functionality is "trigger repeats according to incoming audio amplitude", yes, and when this triggering is being controlled by feeding it a sidechain key signal, it would respond like you would expect. A fine sidechain feature, that.
So Beat Repeat is program dependent? It would be as easy as adding a sidechain? Or are you saying that you'd first have to add some kind of threshold/dry/wet control?

Sorry, lots of questions.
Ableton Suite 8 | Max for Live | Logic Studio | MacBook Pro | Saffire PRO 40 | Liquid Mix | TouchOSC | iPhone 4 | ReMOTE SL COMPACT

e-theory
Posts: 135
Joined: Tue Oct 31, 2006 3:33 am
Location: Sydney, Australia
Contact:

Post by e-theory » Wed Apr 18, 2007 11:45 pm

You should all check out the 'COMPADRE - beatpuncher ' VST.

This little puppy does side-chaining really well within Live and has a few other tricks up it's sleeve. Imo the most reliable example of side-chaining from within Live - it just always works.

I have also used it as an example in my support mails to other companies telling me that they can't do side-chaining in VST. It is living proof that every compressor plug-in should be able to do it! So come on developers and catch up!

Give it a go: http://www.otiumfx.com/compadre.php
evolutionary theory - Core RnD and Technical Director at Dr.D Studios / DnB Producer / Composer
[email protected]

http://www.evolutionary-theory.com
http://www.evolutionaryrecordings.com
now evolving.... site coming soon....

http://soundcloud.com/evolutionarytheory

Nokatus
Posts: 1068
Joined: Fri Jul 01, 2005 7:06 am

Post by Nokatus » Thu Apr 19, 2007 7:30 am

photonicrecords wrote:Sorry, lots of questions.
Yes, but now we're getting somewhere :)... I hope I can present you with a logical answer.

Naturally, the output of an effect depends on what you put in -- but if this was the only requisite for the process to be called material dependent, pretty much anything could be said to be that. Instead, consider that there are effects which actively adapt their response to the material they're processing. This is important: some effects just "sit there" and constantly effect a signal according to certain settings (for example, typical reverbs and delays), but some effects adjust their behavior depending on what they're hearing (dynamics processors, autofilters and so on). Before getting carried away with that, let's sidetrack and recognize the difference between an insert effect and a send effect:

A send effect is not the opposite of being program dependent. When categorizing effects based on their placement in the audio chain, the fundamental usage types are insert and send effects. Insert effects are placed right in line with the incoming dry signal, and they output a modified signal back onto the same channel strip. In Live, when you want to shape a signal using an effect as an insert, you place the plugin directly on the channel strip of the corresponding audio source. Think of an EQ, for example: if you wish to equalize the output of a VSTi, you place an EQ plugin in the chain after the instrument. The EQ modifies the signal (and that signal only) and passes it down that chain, not letting any of the original signal bypass the equalization process.

In comparison, when using an effect as a send, it's used parallel to the dry signal. Instead of outputting a single modified signal down the chain, the ratio between the dry and the wet signal can be determined by the user. Most often this is done by utilizing the sends in the mixing console: the effect is receiving a signal through the console's effect sends, into which the user can direct any amount of any given channel's signal by adjusting the send level controls of the said channel. In this case, the effect itself is set to output only the wet signal (i.e. if it has a dry/wet control, this ratio is set to 100% wet, thus making it output only the resulting effect), and this wet signal returns to a mixer channel referred to as a "return channel." This is the way it works in Live, too: you just place the effect right onto a return channel strip, and by adjusting the corresponding send levels on the mixer channels, you can route multiple signals in various amounts into that one effect.

A regular reverb is the classic example of a send effect. Instead of using a new reverb on every channel you need reverb on, it makes sense to only use one instance of any given kind of reverb and send signals into it from multiple sources, at appropriate amounts, and have the wet signal return to the mix.

How does this relate to the sidechaining issue at all? We are getting there. Think of a typical send effect that just "sits there", receiving material from multiple channels and effecting it all, returning the wet signal to the mix. If the effect adapted actively to the material it's receiving, the overall result would be different depending on the combined input. In the case of a reverb, again, you would need to ponder whether the piano you're sending into it will still have the same kind of reverb when you send in some strings, too. Let's send a bit of that marimba as well -- can we trust the piano still having the same kind of reverb? Yes, you don't have anything to worry about, because the reverb doesn't "judge" the combined signal any different. A plain reverb just uses the same effect parameters regardless of the signal, and outputs the specified type of reverberation without actively adapting its parameters to the material.

Compare that to a dynamics processor. If you feed a compressor some bass guitar, you end up with a dynamics adjusted bass guitar sound. Now, feed it some drums along with it. When the compressor processes this combined signal, it's a given that the bass guitar reacts differently as well: as the compressor is a device that reacts actively to the input material, its whole output will sound different depending on the qualities of that combined signal. More specifically, a plain compressor is merely a tool for adjusting the level of a signal. If it attenuated the input signal by a constant amount, all the time, the effect would just make everything equally quieter. It would be no different than turning the level down -- in Live, using the Utility plugin to lower the level, for example. Instead, the compressor adjusts the level by listening to the signal amplitude and reacting accordingly. If the material exceeds the threshold level, it will be attenuated by a certain ratio, following the specified response curve. Similarly, a dynamic EQ effect doesn't modify the signal according to a static EQ curve, but the user can specify the conditions under which equalization should take place at a specific frequency range.

Take yet another example, a basic autofilter. Feed it a guitar, and you'll get a groovy (or not) wah-like sound if the parameters are suitable. The filter controls the cutoff frequency based on the input amplitude and different response settings, the specifics of which again vary from model to model. If you feed it two guitars at the same time, or a guitar and some drums, or the whole mix (now THAT'S a thing to autofilter :D), the more complex amplitude changes of the combined signal throw off the nice accentuating filtering you had going with just the solo guitar.

So, on to the sidechaining debacle. A sidechain key input on a compressor allows the unit to react according to a different signal than the actual material it's attenuating. Because the device already contains the functionality to follow amplitude changes, it makes sense to modify the unit in such a manner that you can in fact "fool" it into adjusting the dynamics of a signal based on the amplitude of another. In addition to the ducking effect where a signal dodges when ever another signal (being fed into the key input) is present, another use is keying the compressor with an equalized version of the signal being compressed. This way you can isolate the specific frequency range the compressor will react upon, and this is what classic de-essing is based on.

A sidechain input on an autofilter can essentially be used in the same manner: as the effect already knows how to react to the input material, it makes sense to modify it into reaceiving another key signal than the one it's filtering. Routing a drum track as the key signal and a synth line as the signal being effected, the result would be a synth line which is being filtered rhythmically, the filter reacting to the amplitude changes of the said drum track.

At this point, let's spot the effects specifically in Live which actively respond to the signal being fed into them: at least both of the compressors, the gate, the dynamic tube effect (its tonal changes depend on the input signal) and the autofilter. I might well be forgetting something, but I hope the idea is clear. The Beat Repeat mentioned earlier was just an example of an effect that would be quite interesting with material dependent functions, as you could for example trigger repeats with amplitude changes and then add a key input for that.

But now, take the classic send effect, a plain reverb. An effect that just "sits there", effecting the combined signal of everything you want to hear that particular reverb on. Regarding sidechaining, the main question now is: what kind of functionality does a reverb already contain that benefits from adding a key input? Where exactly would the key signal go inside the reverb? What would it do?

Reflecting all of the above, consider these questions for a while. One can't say that an added key input would automatically make the reverberation sound only when there is key activity. That would be an active decision to add sidechainable gate functionality into the reverb itself. Perhaps a valid function, that, although it could be reproduced with a separate sidechainable gate -- and a gate like that would be more universally useful, as you could now make anything sound only when a suitable key signal is present.

Let's not make that judgement, however, and concentrate on the reverb. What is there, inside a plain reverb effect, that you could route a separate key signal into and make it do something? You're left with pretty limited choices. In simple terms, aside from being completely passed through, there is only one functional path for the signal to go inside the reverb: to go through the reverberation algorithm. Compare that to a typical compressor, in which you use the signal in two separate contexts: one, the signal actually being modified by the compression, and two, the signal being fed into the part providing the amplitude based control for the aforementioned process. So in this case, the unit's design already contains a ready-to-be-discovered idea for a separate key signal. "Hey, what if we feed a completely different signal into the control circuit, that would be cool!"

In the case of a reverb, it's important to acknowledge it would indeed need some kind of added material dependent functionality for the key signal to be useful. There is no technical reason why a send effect couldn't have such functionality, so first you just need to decide what this dependency will be, and how will it be relevant in the context of that specific effect. Perhaps the reverb could change its frequency characteristics based on the input signal? That might be interesting. Or, will it modulate the room settings based on some attributes of the input signal? Only after you have designed what the active functionality will be and have successfully implemented it, then you can add a key input to make the unit react meaningfully to another signal than the one it's actually effecting.
Last edited by Nokatus on Thu Apr 19, 2007 8:29 am, edited 7 times in total.

Nokatus
Posts: 1068
Joined: Fri Jul 01, 2005 7:06 am

Post by Nokatus » Thu Apr 19, 2007 7:46 am

e-theory wrote:You should all check out the 'COMPADRE - beatpuncher ' VST.

This little puppy does side-chaining really well within Live and has a few other tricks up it's sleeve. Imo the most reliable example of side-chaining from within Live - it just always works.
Yep, I'm a licensed user, and that plugin is really REALLY really nice!

The VST standard is definitely no stopper for plugins with sidechain functions. Basically, you just need to have multiple inputs in a plugin and make them do something worth doing. (Also the Live routing scheme already works well with any decent sidechain-capable plugin.)

I remember building a simple sidechaining compressor setup years ago in Reaktor, to be used in Cubase SX, when so many people said it was not possible. As Live came along and I jumped on it, it's been so long since I last touched Cubase I don't even remember why they said that :wink: ... Anyway, it was just a multiple input ensemble with a stereo signal going into the Reaktor stock compressor and another input working as the key. Then you could easily place that onto a surround channel in Cubase, routing the signal to be compressed and the key signal into the appropriate routing points.

AND I'm glad such things aren't that dodgy nowadays, yeah.

By the way, for a plain and free sidechain compressor, there's always the Slim Slow Slider offering. It's actually pretty neat.

After everything that has been said here...

+1 for a sidechainable Live compressor :D

(and a gate ...)

e-theory
Posts: 135
Joined: Tue Oct 31, 2006 3:33 am
Location: Sydney, Australia
Contact:

Post by e-theory » Thu Apr 19, 2007 8:58 am

Nokatus wrote: The VST standard is definitely no stopper for plugins with sidechain functions. Basically, you just need to have multiple inputs in a plugin and make them do something worth doing. (Also the Live routing scheme already works well with any decent sidechain-capable plugin.)
I agree with everything but the comment about VST being a no stopper for plugins with sidechain functions.

The way that Compadre does it is exactly like a real sidechain input on a real compressor - with a different input alongside that main one. I don't see why this is so hard or such a complex way of approaching this 'problem'. There is nothing dodgy or voodoo AT ALL about suh a solution in my opinion, and omitting this way of approaching the problem when vendors make VST versions of TDM plugins is a cop out and just not on!

If there is only one solution ( i.e. the multiple input VST plugin ) then what reason is there not to, well, just do it that way? I am a programmer by profession ( and mad keen drum and bass producer after hours.... ) so I know for a fact that even for developers developing multiple versions of their plugins, the framework to support both methods of sidechaining is simple enough to implement to release working versions of TDM plugins as VST, and still have enough money left over for profits. I also cannot stand plugins that deviate from simple standards like ctrl-click resetting of parameters etc. but that is a rant for another day.

In fact, I am willing to put myself on the line here and say that if a developer thinks this is too hard, seriously contact me and I will do it for you for free, just to prove to you and your customers that this feature is definitely possible. There are SO many awesome compressors out there that are simply not reaching their full potential because of this simply overlooked feature, not to mention other products that can make use of such an external envelope solution.

P.S. ( Nokatus I am also a registered user of the Beatpuncher ) and agree that for what it does it does it well, with very little current alternative ( except for the Sonalksis SV-315 I recently bought, and managed to successfully request support to send me a version that works with side-chaining in Live, which is, in my opinion, the best sounding compressor value for money wise that you can current buy. It really does sound analogue ).

my2c,

e-theory
evolutionary theory - Core RnD and Technical Director at Dr.D Studios / DnB Producer / Composer
[email protected]

http://www.evolutionary-theory.com
http://www.evolutionaryrecordings.com
now evolving.... site coming soon....

http://soundcloud.com/evolutionarytheory

e-theory
Posts: 135
Joined: Tue Oct 31, 2006 3:33 am
Location: Sydney, Australia
Contact:

Post by e-theory » Thu Apr 19, 2007 9:04 am

Actually before someone quite rightly catches me out on this, one of the support guys from Sonalksis said that getting sidechain support working in VST to work with both Cubase and Ableton simultaneously was a bit of a coding nightmare and that options like multiple versions for multiple DAWs had been considered as an option, so I guess that may be one reason for some developers to give up - but all creds to Sonalksis for being on top of this issue and tackling it head on - and thanks from all the Ableton heads!
evolutionary theory - Core RnD and Technical Director at Dr.D Studios / DnB Producer / Composer
[email protected]

http://www.evolutionary-theory.com
http://www.evolutionaryrecordings.com
now evolving.... site coming soon....

http://soundcloud.com/evolutionarytheory

Nokatus
Posts: 1068
Joined: Fri Jul 01, 2005 7:06 am

Post by Nokatus » Thu Apr 19, 2007 9:13 am

^^ When I said the VST standard is definitely no stopper for plugins with sidechain functions, I meant exactly that: it poses no overwhelming obstacle for developing such plugins :wink:

There are many sidechainable VST plugins around and they work great.

davidbayles
Posts: 79
Joined: Tue Nov 14, 2006 2:38 pm
Location: Washington, D.C.
Contact:

Post by davidbayles » Thu Apr 19, 2007 4:35 pm

The Beat Repeat mentioned earlier was just an example of an effect that would be quite interesting with material dependent functions, as you could for example trigger repeats with amplitude changes and then add a key input for that.
So Beat Repeat would need some kind of threshold control for a key input to be meaningful? Just adding a key input would be the same as adding one a reverb, right?
Ableton Suite 8 | Max for Live | Logic Studio | MacBook Pro | Saffire PRO 40 | Liquid Mix | TouchOSC | iPhone 4 | ReMOTE SL COMPACT

davidbayles
Posts: 79
Joined: Tue Nov 14, 2006 2:38 pm
Location: Washington, D.C.
Contact:

Post by davidbayles » Thu Apr 19, 2007 5:00 pm

With a compressor or gate, the threshold control tells the plugin when to "do something". So if you have a guitar track keyed to a kick, when the kick is below the threshold, nothing happens, and the guitar track would be unaffected.

Another question: using Beat Repeat (with only a sidechain added) on a guitar track, what would the guitar (keyed to a snare track) sound like during the time the snare is not struck? Or what would it sound like if it were keyed to an empty track? Beat repeat would not be hearing anything, but it would be in the way of the guitar signal. Would it just pass through unaffected or would it mute the guitar or would it just process it as if it were hearing the guitar track?
Ableton Suite 8 | Max for Live | Logic Studio | MacBook Pro | Saffire PRO 40 | Liquid Mix | TouchOSC | iPhone 4 | ReMOTE SL COMPACT

e-theory
Posts: 135
Joined: Tue Oct 31, 2006 3:33 am
Location: Sydney, Australia
Contact:

Post by e-theory » Fri Apr 20, 2007 12:50 am

( Firstly sorry Nokatus for misinterpreting your sentence, language is sometimes as much a hindrance as a blessing.... )

Well, I got a cooking last night and wrote my first three VST plug-ins ever ( I hate not being able to do things - so I like to solve problems so I can do anything - this is just the beginning.... ):

<insert legal mumbo jumbo here>
I take no responsibility for any damage done to your machine by these plug-ins, including any fires or explosions they may cause :wink:. I have no experience programming VST plug-ins ( apart from last night of course! ), but the only thing I think may be a remotely an issue for people are the VST id's that I have randomly chosen for these plug-ins, but I very much doubt there will be an issue - but at worst it will mean you won't be able to use them, that is all....

Sorry, but only for those running Windows x86 32bit with the Windows Developer Runtime Kit installed. I have no time to make 15 versions for everyone's situation ( well, yet anyway ). The same installation runtime required for using anything developed in Visual Studio 2005 - ( i.e. PSP products ).

1.) Insert Point.dll - http://www.yousendit.com/download/TEhYZ ... eVkwTVE9PQ

This plugin passes through the original audio unaffected, but adds an insert point that is mixed with the original audio with a volume control.

"So what!" I hear you say - well, actually you can route to this insert point from the output of ANY audio channel within Live. Sounds like not much at first, but the possibilities and routings this opens up for you are pretty cool....

2.) Output Point.dll - http://download.yousendit.com/7ACE7B024A3086E4

Similar idea to above in a different direction - instead of providing you with a
secondary mixed input, this plug-in provides you with a second output, allowing you to fork the audio at any point in an effects chain. This output can be "seen" be the audio channels as a routable input.

Again, this allows you to do some really cool modular routing stuff.

The two of them provide an awesome way to do a flexible insert point like with real hardware. It's kind of like the way I would have liked Live audio racks to work - with no limitations on the insertion points in their wiring.... I can only dream....

3.) Modulator.dll - http://download.yousendit.com/E1487DAF69D15430

Silly gimmicky experiment plugin that has two audio inputs that are combined in three ways:

1 - input1^2 * input2^2
2 - input1 / ( input2 + 1 )
3 - input1 * input2 ( i.e. Ring Modulation )

Which is my first attempt at providing some kind of "side-chain" examples.

Next step is a plug-in with three inputs - two for audio and another for a key input that will be envelope followed - controlling the mix of the two audio signals. This would allow some nice makeshift envelope/side-chain effects to be had, and allow you to kind of force side-chain abilities onto anything in a nice way....

Have fun, and let me know what you have managed to do with these plug-ins.

But again - please don't sue me if they make you computer turn into the cookie monster....

cheers,

e-theory
evolutionary theory - Core RnD and Technical Director at Dr.D Studios / DnB Producer / Composer
[email protected]

http://www.evolutionary-theory.com
http://www.evolutionaryrecordings.com
now evolving.... site coming soon....

http://soundcloud.com/evolutionarytheory

e-theory
Posts: 135
Joined: Tue Oct 31, 2006 3:33 am
Location: Sydney, Australia
Contact:

Post by e-theory » Fri Apr 20, 2007 12:54 am

P.S. these are you-send-it links and will therefore expire in 7 days.
If there is enough interest in them and I have not been sued within 7 days I will put them up on my website and link to them permanently -
also P.S.

Original code that I edited to make these plug-ins is © 2006, Steinberg Media Technologies, All Rights Reserved,

Also they obviously own the VST Dev copyright. But I kinda just have to say that anyway....
evolutionary theory - Core RnD and Technical Director at Dr.D Studios / DnB Producer / Composer
[email protected]

http://www.evolutionary-theory.com
http://www.evolutionaryrecordings.com
now evolving.... site coming soon....

http://soundcloud.com/evolutionarytheory

Post Reply