Showing posts with label compression. Show all posts
Showing posts with label compression. Show all posts

16 February 2008

Sidechain compression with Reaktor and Ableton Live

Back in 2006 I wrote the following how-to guide for achieving sidechain compression using Reaktor with Ableton Live (v4). Live 7 now has a sidechain capable compressor which may do everything you need, and there is an increasing number of third-party sidechain compression plugins available that also make this effect simple to achieve. But the information in this article may still be useful, particularly if you're interested in setting up sidechain capability in other Reaktor ensembles, and using them within Live.

Requirements:

  • Ableton Live, version 4 or higher.
  • Reaktor, version 4 or higher.

The aim is to get the audio from one channel (percussion) to influence how the audio from a different chennel (a pad sound) is attenuated over time. One of the ensembles included in reaktor can be modify to achieve this.

Setting up the channel that will get compressed

To begin with I created a pad sound stretching over a few bars. Pads are good for this example because you'll need a sound that remains at a fairly steady level to hear the final effect as clearly as possible. I'm using rendered audio files rather than midi so you can see how the waveforms look. Pad mp3

I'm adding a compressor to this channel because in the end this is the channel whose level i want to dip each time a percussive sound happens.

I'll add an instance of the 'Reaktor5 Surround' vst to the pad track. It's important to choose the surround vst since it allows you to feed multiple inputs to your reaktor instance. We'll need this to feed both the pad audio, and the percussion audio (from a different track) to the compressor.

In reaktor, open the 'Two Knees Compressor' ensemble (you can find it in the 'Effects' section).

Open the structure view of the Two Knees compressor. Select the 'L' and 'R' input modules and choose 'Duplicate Selection' to create two new inputs. For clarity you could rename these 'Key L' and 'Key R'. Attach the new inputs to the In1 and In2 of the 'max of 2 (abs)' module (this will automatically delete the existing connections to In1 and In2).

At the top level of the reaktor structure, attach the inputs 3 and 4 to the new 'Key L' and 'Key R' compressor inputs.

You can think of a compressor as having two parts. A level detection circuit, and an attenuation circuit (that typically does the 'squashing' of a signal's dynamic range by reducing it's level by varying amounts). Normally, the same signal is fed to both circuits. When the level detection circuit detects a level above the compressor's threshold setting, the attenuation circuit reduces the volume of the signal.

We now have the possibility to feed two independant signals to the two circuits. The changing level of one signal will determine how the other signal is attenuated over time.

Setting up the channel that controls the compression

I add a new audio channel and create a pattern from an individual drum hit. I chose a strong kick drum sample to clearly demonstrate the effect. Drum hits mp3

In order to feed the audio from the percussion channel to the key inputs of the compressor on the pad channel, I select the pad track in the percussion track's 'Output Channel' chooser (the pale drop down menu rectangle in the area to the right of the track that says 'Master' by default). Here I select the track number that corresponds to the track with the pad on it. After I do that, the bottomn drop down box becomes active too. This one is used to determine where the audio should enter the destination track, incase there's more than one choice.

In this case the options are: 'Track in', 'Reaktor 3+4', 'Reaktor 5+6'. I select 'Reaktor 3+4' to route the percussion audio to the key inputs of the compressor.

Making the percussion audible again

If I play the track at this point, the pad sound 'dips' wherever the drum notes have been placed, but the drum channel itself is making no sound. Ducked pad mp3

Next it's necessary to use a small workaround in order to hear the drums again. The drums need to be routed to a return track.

To create a new return track for the drums, I right click in the right hand part of the arrange screen and choose 'Insert Return Track'. I right click on your newly created return track and choose 'Rename' to give it a sensible name like 'Kickdrum' for instance.

Back on the drums track, I select 'Mixer' in the rectangular select box that reads 'None' by default. In the dropdown box directly below select 'Kickdrum' (or the name you gave to your return track). Now I drag the horizontal red line that's appeared in track upwards until it wont go any further. Now all the drum audio is being routed to both the sidechain (key) inputs of the compressor, and to the return track (which in turn feeds to the master output). If I play the track now i can hear the drums again, as well as the dipping pad. Drums dipping the pad mp3

The final image shows a new waveform demonstrating how the 'dipped' pad audio looks with the side chain compression applied.

(It's a good idea to save the modified ensemble under a new name if you think you're likely to want to use it again)




Addendum

Thanks to Nokatus for his post on the Ableton forum suggesting a cleverer way of arranging the audio routing:

By the way, have you considered using an effect send to feed the compressor key signal input, instead of doing it the other way around? I mean, instead of routing the drum track directly to the key inputs in Reaktor (in this case 3+4) and listening to it in the mix using a return track, just make a return track which is directed into Reaktor channels 3+4.

After this you don't need to use a return track as a workaround to actually hear the drum track; now you hear it as usual, and can use (and automate) the effect send knob in the drum track (and multiple other tracks as well) to directly control what and how much is used as the key signal at any given moment.