. Inserts, Sends, Busses and Aux objects

  1. The difference between an Insert and a Send
  2. What's a bus?
  3. Which audio objects can use (virtual) busses for input and/or output?
  4. What is an Aux object?
  5. How do I create Aux objects?
  6. Auxes vs. Busses and Input Objects: when should you use which?
  7. Using Busses and Auxes simultaneously: potential problems and confusion
  8. Monitoring effects and/or destructively recording them
  9. How do I use Aux objects as side chain sources for side chain-capable plug-ins?
  10. How do I use Aux objects with multiple output instrument plug-ins?

.1 The difference between an Insert and a Send

In the following it's assumed you have some audio file on an Arrange track, and have that track assigned to a basic Track object from the Audio Mixer, like "Audio 1".

If you pick a reverb from one of the Track object's "Insert" popups, the audio enters the Track object, is routed through the reverb, and then passes the volume slider, before being routed to whatever output destination the Track object is set to (most often this will be just "Output 1-2").

That means that the entire signal runs through the reverb, and that you'll thus have to adjust the reverb's dry/wet-mix slider to something reasonable, or otherwise your sound will be soaked in reverb. It also means that if you have another track which also needs reverb, you have to use another reverb on that track's insert to add reverb. So in this case the reverb is literally inserted in the signal path: hence the name "Insert".

When dealing with e.g. 10 tracks that all need a bit of reverb, the above scenario would mean having to insert 10 different reverbs in 10 different Track objects. This is undesirable. Not only will you tax your CPU quite heavily (using 10 CPU-hungry plugins), but it's also a pain to adjust the total amount of reverb, or to retain consistency across all tracks: open 10 plugins and adjust each to match the others. For that reason using a Send in such cases is much preferred.

Make sure no Inserts are used on the Track object. Click on one of the Track object's "Send" slots, and pick "Bus 1". Next to the send a small rotary dial appears, which for now you simply crank up to maximum = 127. Now what happens to the signal is quite different. The audio enters the Track object and is routed straight to the Volume slider, and then goes to the output destination (again most often "Output 1-2"). No effect is applied (since you didn't insert any effects, right?). But at the same time the same input signal is being sent (hence the name) to Bus 1. I.e. by using a Send you created a parallel signal path, carrying the same audio signal. Now locate the Bus 1 object in your Audio Mixer (or create one, if you don't have any Bus objects in your Mixer), and use the object's Inserts to insert the reverb. What you have now is 1) dry signal runs through the Track object to the Output, and 2) the same dry signal is sent to the Bus object, goes through the reverb, and then to the Bus's output destination (which we'll assume to be Output 1-2 as well). So at Output 1-2 two signals arrive: the dry one from the Track object, and the reverberated one from the Bus. Since the Track object already provides a dry signal, you can now safely set the reverb on Bus to 100% wet. Use the Bus's Volume slider to determine how much of the wet signal will be present in the output.

If you now have 10 tracks all needing a bit of reverb, simply have them all "Send" to Bus 1: all 10 audio signals will be sent to the same bus and thus to the same reverb. Voila, reverb for all of them, with just one plugin used. Obviously, the mini-dials next to the Send-slots on the Track objects determine how much of the dry signal is sent to the bus. This thus gives you a way to determine the balance between signals arriving at the bus (and thus the reverb).

Conclusion: when a bunch of tracks all need to share the same effect, put the effect on a bus, and use Sends on the tracks to send the dry signal to the bus. When you need to apply an effect to one track only, use an Insert on the track.

[top] [contents]

 

.2 What's a bus?

In Logic there are 2 different views of what a bus is. This is potentially confusing, so it's important to get this straight.

  1. The bus as a virtual node: a bus is nothing but a virtual node to which you can send an audio signal. Some objects can send audio to a bus-node, and others can "tap into" this node and take the bus-signal as input. The node itself doesn't show up anywhere in Logic as such. Go to the Audio Mixer, and pick one of the regular Track objects (like "Audio 1"). From the output popup (the last popup on the object), you can pick "bus 1" as the output destination. Now all audio on a track assigned to this Track object will be routed to bus 1. As long as no other object taps off this signal, the audio will remain unused and will not be heard anywhere. You could also leave the Track object's Output set to e.g. "Output 1-2", but use a "Send" slot to send a copy of the signal to Bus 1. Again the signal will be routed to the virtual bus 1 node, and as long as no other object taps off this virtual node, the signal will simply stop here.

    Now the question is: which objects can tap off a signal from these virtual nodes? This brings us to the following.
     
  2. The Bus as an object in the Audio Mixer: if you've got a default Audio Mixer (e.g. generated by Logic if you pick "New" from the File menu without having an Autoload song (Autoload.lso on PCs) in your Logic application folder), you'll also have a couple of "Bus x" objects. Go to the Audio Mixer, locate the "Bus 1" object and select it by clicking once on it. On the left side of the window, the object's parameter pane will appear. Here you'll see that the object's "Cha" parameter is set to "Bus 1". This answers our last question: apparently a Bus object is one of the objects that can tap into the bus virtual nodes. By setting the object's "Cha" parameter appropriately, you in fact tell the object to take its input from the bus 1 virtual node. (Note: when using Auxes and Busses simultaneously, this concept needs some refinement. Please read section 7 below for the details. For now however, the above is the easiest and clearest way of looking at things.)

To distinguish between those 2 different kinds of busses, we'll talk about busses (virtual nodes) and Bus objects (audio objects whose Cha parameter is set to one of the busses).

Note that the Bus object is not the only one that can use a virtual bus as its input. Auxes can do so as well, as will be discussed below, in section 4 and following. If you want to know the real details of (virtual) busses vs. Busses (as objects), you definitely should read section 7.

[top] [contents]

 

.3 Which audio objects can use (virtual) busses for input and/or output?

See the "Overview of all Audio Objects" in this FAQ.

[top] [contents]

 

.4 What is an Aux object?

An Aux object is somewhat like a Bus object "on steroids". Or: it's a mix of a Bus object and an Input object, but then slightly different:

There are some complications though, especially when using both Busses and Auxes in the same setup. Read section 7 below.

[top] [contents]

 

.5 How do I create Aux objects?

Clumsy method: go to the Audio Mixer, pick "Audio Object" from the window's "New" menu, and double-click the small new object to have it expand into a full-blown channel strip. With the object selected, in the parameter pane (left side of the window) pick "Aux 1" from the Cha popup menu. Each time you assign an object's Cha parameter to an Aux, a new Aux is added to the bottom of the popup menu.

Handy method: select one of the channel strips in the Audio Mixer, copy, paste (or hold Option [Ctrl] and drag an object to make an instant copy). With the newly pasted object still selected set its Cha parameter to Aux 1. Also in the parameter pane, change the object's name. Rearrange the mixer to let the Aux object fit in.

Note that as soon as you've created an Aux object (i.e. as soon as you've picked "Aux n" from an object's Cha popup in its parameter pane), the next Aux will be made available in the Cha popup. You thus can't create Aux 12 before you've created Auxes 1-11.

[top] [contents]

 

.6 Auxes vs. Busses and Input Objects: when should you use which?

While reading the answer to "What is an Aux object?", it might seem that Bus and Input objects can be discarded, since an Aux seems to be a blend between a Bus and an Input. Unfortunately things are not as simple as they seem.

Disadvantages of Auxes

  1. Plugins inserted on Aux and Input objects use CPU cycles all the time, even when no audio is running through them. For Busses this isn't necessarily true.
    Every Audio Object that can be used in a realtime context uses CPU cycles all the time. This is because the object "has to be prepared" for the moment audio arrives at its input, and since we're talking "live input" here, Logic has no way of knowing when that will happen. So, for starters, this means an Input object will always use CPU cycles. It also means though that if you have an Input object (= live) which sends to a Bus object, then effects inserted in the Bus will also use CPU cycles all the time. But if the Bus is only fed by e.g. (non-live) Track objects, then as long as no audio plays on the Tracks, the Bus won't use any CPU. The same is not true for Auxes though, and this is where Busses and Auxes differ: an Aux will use CPU all the time, regardless of "what feeds it". Nobody knows why this is -- probably this is some software-design issue.
  2. Busses handle soloing of the source that's feeding them better than Auxes do. Suppose you send a Track object's signal to both Bus 1 and Bus 2. Bus 1 is picked as the input to Aux 1, and Bus 2 is taken care of by the regular Bus 2 object. Now press the solo button on the Track's channel strip in the Audio Mixer: you'll still hear Bus 2,but will not hear the Aux anymore. This is a shortcoming of Auxes: when solo'ing a track, you'd like the track to play on its own, together with any effects you may have applied, anywhere in the audio chain. I.e. you explicitly want all sends to keep playing as well. Auxes ruin this, since they just stop playing. If you not only press the solo button on the Track object, but also engange solo on the Aux, the Aux will sound again. This is of course a sub-optimal solution, as it requires you to keep track of what audio signal goes where -- and with a lot of bussing going on this is cumbersome.
    Note that solo'ing the track in the Arrange window does not suffer from this shortcoming: in this case both the Bus and the Aux will keep playing.

Advantages of Auxes

There are various reasons why you might prefer an Aux object over a Bus object.

1.  

Use of Auxes allows you to route the same signal to various destinations with a single Send. Suppose that on your Track object you set the first Send slot to send to Bus 1. Now you can have multiple Aux objects, all having their Input popup set to receive input from Bus 1. This means that the audio from the Track object goes to different Auxes simultaneously, while you used only one Send on the Track object.

With Bus objects this can't be done: every Bus object's input source is determined by its Cha parameter. If 2 Bus objects have the same Cha parameter (e.g. in an attempt to create two Bus objects both taking input from the (virtual) Bus 1), you'll simply have two identical objects: inserting an effect on the one will insert the same effect on the other, etc. So when using Busses, you would have to use different Sends on the Track object to have the same signal end up at different destinations.

  • The picture shows a Track object sending to Bus 1. Both Aux 1 and Aux 2 are set to take their input from Bus 1. The audio on Track 1 will be routed to Output 1-2 directly, through the Track Object. It will also go to both Auxes in parallel. Aux 1 sends a Reverb signal to Output 1-2, and Aux 2 sends an Overdrive signal to Output 1-2.
    A configuration like this makes sense if you want the audio to be processed in multiple parallel ways. The Volume sliders on the Auxes are used to determine how much of the effect-signal is present in the mix.
     
    When more than one Track Object is sending to Bus 1, this setup might not be convenient. Suppose Track 1 should have lots of Reverb and little Overdrive, and Track 2 (also sending to Bus 1) is supposed to have a lot of Overdrive but little Reverb. Since each Track only uses one Send, the Send-dial can't be used to determine how much of which effect will be present in the mix. You thus have to use the Auxes' volume faders for that. But that in turn means you can't determine different amounts of effect for different tracks.
    In such a situation you'd better use the "classical" approach of using two Sends on each Track: the first sends to Bus 1, which has Reverb inserted, and the second Send goes to Bus 2 which has Overdrive inserted.

Important note: you might be led to think that a similar "parallel" setup can be achieved by using e.g. the Bus 1 object and an Aux set to get input from Bus 1. This is not true. Please read section 7 below.

2.  

When you change a Bus object's Cha parameter from e.g. Bus 1 to Bus 2, the object will lose all its plugins. This makes sense: by changing the Cha parameter, you basically change the object itself. If e.g. the Bus 1 object has a reverb inserted and the Bus 2 object has a flanger, and you change the 1st object's Cha parameter to Bus 2, you will have created an identical copy of the other Bus 2 object -- meaning that the reverb will be replaced by a flanger. With Auxes this is far more flexible: since the input from an Aux is picked from a popup, you can simply pick Bus 2 instead of Bus 1 from the popup. The Aux will retain all its inserts and settings, since you didn't really change the object itself.

Aux vs. Input Object

  1. Aux objects behave differently from Input objects when it comes to recording inserted effects. See section 8 below for an elaboration.

[top] [contents]

 

.7 Using Busses and Auxes simultaneously: potential problems and confusion

From the above section it might seem as if you can safely mix Auxes and Busses in your workflow. This is indeed true, up to a point, as long as you're aware of the potential confusion that might arise. Note: below we'll stick to the convention of writing "bus" when we mean the virtual bus node, and "Bus" when we mean the object (i.e. channel strip in the Audio Mixer). See section 2 above for the (important) difference.

The problem, in one sentence, is this: Bus objects always affect the signal reaching a virtual bus node. So any object that takes input from some bus node is affected by the Bus object's settings. A concrete example of what this means and how to solve it is discussed below.

Suppose a Track Object sends to bus 1. You set an Aux to have bus 1 as input, and bus 2 as output. I.e. you intend to use the Aux instead of the Bus 1 object. Now since the Aux's output is set to bus 2, you wouldn't expect the bus 1 signal itself (which is input to the Aux) to reach any of your outputs, right? Wrong! Chances are good that you also have a regular Bus 1 object in your mixer. If the Bus 1 object's output is set to e.g. "Output 1-2" (as it often is), then, since this object also gets its input from bus 1, you'll still hear the bus 1 signal in your mix. So what happens is: the Track sends to bus 1, which is used as input on both the Aux and Bus 1 objects. The Aux outputs to bus 2, but Bus 1 outputs to some regular Outputs, thus doubling the unprocessed Track signal. Now you may think that the solution is simple: drag the volume fader on Bus 1 all the way down. Wrong again! As soon as you do this, the Aux will no longer receive any input! Apparently the Bus 1 volume fader affects the volume of the signal at the bus 1 node directly -- changing the Bus 1 object's volume affects all objects having bus 1 as their input.

How do you solve this? One solution would be to set the Bus 1 object's output popup to "No Output". Another solution is more drastic: just delete the Bus 1 object (uncheck "Protect Cabling/Positions" in the View menu, select Bus 1 and hit backspace). If the object doesn't exist, it can't send anything to the Outputs, right?

  • The picture shows the above scenario. Dragging the Bus 1 volume fader down will mute all objects shown, except the Audio 1 Track object. Take a look at the level meters on the objects: Bus 1 carries an identical copy of the Audio 1 signal. Aux 1 shows the signal after it has been processed by a Tape Delay. Bus 2 shows the same signal as Aux 1 (the Fat EQ was set to a completely flat curve, for demonstrational purposes). Bus 1 is set to "No Output". If Bus 1 had been set to some Output, you'd have ended up with 2 copies of the original signal in your mix, one coming from Audio 1 and one coming from Bus 1.

But... there's more to be aware of. In the above scenario, we saw that the volume fader on the Bus object affects the strength of the signal at the bus node. This is still true if you set the Bus's output to "No Output". It's even still true if you delete the object! This is potentially very confusing: suppose the volume on the Bus 1 object is set to zero (all the way down), and you then delete the Bus 1 object. Now the signal arriving at the bus 1 node will effectively be muted! So you can send from a Track to bus 1, and set an Aux to take bus 1 as input all you want, but you won't hear a thing. And since you deleted the Bus object, you have no visual clue as to what's wrong.

Even more misery and confusion... As we said in the beginning, the core of the problem is that the Bus object affects the bus-node signal at all times. This can be easily checked if you copy the setup shown in the picture. Insert some obvious effect, like distortion, in the Bus 1 object. Voila, instant distortion on all objects (except Audio 1 of course). I.e. the Aux doesn't get the clean signal from Audio 1 -- instead it gets the processed signal from the Bus 1 object. This is messy indeed, and (imo) could be considered a design flaw of the Bus Objects.

What's the best approach then? Well... there's no "one-size-fits-all" solution to this. An obvious approach would be the following. If you're serious about using Auxes, create every possible Bus object (that's 64 objects in Logic Platinum). Set all their volumes to 90 (0 dB) and all their outputs to "No Output". Make sure none of them use any inserted effects. Then select them all and delete them. No more confusion. However, there may be times when you do want to use a Bus object instead of an Aux (see section 6 above). So maybe you'd better not delete the Busses, but move them off-screen where they don't bother you. Or 'cut' them all, navigate to another environment layer, and 'paste'.

So, to sum it up: contrary to what was said in section 2 above, it's not completely true that both Busses and Auxes can "tap into" the virtual bus nodes. Only Bus objects can. Auxes (when some Bus is picked from their input popup) get bus-input after the signal has been led through the corresponding Bus object. As long as you don't use a Bus object and an Aux with the same bus as input simultaneously, is perfectly valid to think of both objects as being capable of receiving input from the virtual nodes though. Here's a picture to show what really goes on:

[top] [contents]

 

.8 Monitoring effects and/or destructively recording them

Suppose you're about to record a vocal track, and have a reverb inserted somewhere. Now you may want to record the dry vocals, while still monitoring the reverb while singing. Or you might want to apply the reverb directly while recording, so that you record a wet signal. Et cetera.

When considering the various possibilities regarding monitoring and (destructively) recording effects, you'll notice there are 4 possible combinations:

i. Don't monitor effect, and don't record it

Simple: just switch off the effect. I.e. open the plugin window and click 'bypass', or (faster) in the Audio Mixer, press the Option key [Ctrl] while clicking on the slot the reverb is inserted in.

ii. Monitor effect, but don't record it

Using a Track object

Insert the effect on a Track Object whose input matches your vocals input. I.e. if your vocals enter the soundcard on input-1, set the Track Object's Input popup to Input 1. Record-enable the Track object. You will now hear the effect. Assign an Arrange track to this Track object, and hit record. While singing you will hear the effect, but it will not be recorded -- i.e. you'll record a dry signal.
If instead of using an Insert you used a Send, the same applies.

If after recording you hit play, you'll hear the effect being applied to the audio. Of course: you recorded on an Arrange track assigned to a Track Object that has the effect inserted, so upon playback you'll hear the same effect being applied to the recording.

  • The picture shows a basic Track Object with Reverb inserted. Recording on an Arrange track assigned to the Track Object will record the audio without effect.

Using an Aux object

Insert the effect on an Aux object. Set the Aux object's input to e.g. Input 1. If you now sing, you'll hear the effect: no record-arming of anything is necessary. However, since assigning an Arrange track to an Aux object is pointless (try it: it won't do you no good), you still have no means of recording the vocals. To fix that: assign an Arrange track to some Track object, set the object's input to match your vocals input and record-arm the Arrange track (or the Track object, which amounts to the same). Hit record. The vocals will be recorded on the track assigned to the Track object, while the Aux will provide the effect monitoring.
If instead of using an Insert you used a Send on the Aux object, the same applies.

If after recording, you hit play, you will hear a dry signal: sure, because the effect wasn't inserted on the Track object but on the Aux, and the Arrange track is assigned to the effect-less Track object.

  • The picture shows a Track Object and an Aux Object, both having their input set to Input 1. The Reverb inserted in the Aux will be monitored but not recorded.

iii. Don't monitor effect, but do record it

This currently can't be done.

iv. Monitor effect and record it

Logic Platinum & Gold only!

First make sure you enabled Software Monitoring (Audio menu, Audio Hardware & Drivers dialog).

Insert the effect on the proper Input object. I.e. if your vocals enter the soundcard on input-1, pick the Input Object whose Cha parameter is set to Input 1. Assign an Arrange track to a Track object, and set the Track object's input (I/O popup) to Input 1 as well. Record arm the Arrange track (or the Track object) and hit record: the effect will be destructively applied -- i.e. it will be part of the recorded signal. After recording, if you hit play, you'll hear the effect (even though the effect is not inserted on the Track object) because the effect has been recorded.

Note that you thus need two objects to get this to work properly: an Input to insert the effect in, and a Track object for recording. This is confusing indeed.

If instead of using an Insert slot, you use a Send on an Input object, you're out of luck: before recording you'll hear the effect, but as soon as you hit record, the effect will disappear and it will not be recorded either.

  • The picture shows a Track Object and an Input Object. The Track Object has it's input set to Input 1. The Input Object's Cha parameter is also set to Input 1. Now when recording on an Arrange track assigned to the Track Object, the effect inserted in the Input Object will destructively be applied.

So, to sum it up:

[top] [contents]

 

.9 How do I use Aux objects as side chain sources for side chain-capable plug-ins?

Set the Aux object's output to some Bus. In the plugin, pick the same Bus from the Sidechain popup menu. Note that you're dealing with "busses as virtual nodes" here, so there's no need for an actual Bus 1 object to be present anywhere (see section 2 above for an explanation of the difference between busses as virtual nodes and busses as Audio Mixer objects).

If you're not sure what to use sidechains for, please read the chapter on sidechains.

  • The picture shows a Track Object which Sends to Bus 1. The Aux 1 object takes input from Bus 1 and sends its Fat-EQ'd output to Bus 2.
    The second Track object has a Compressor inserted, which uses Bus 2 as Sidechain input.
    Note that the audio signal which is sent to Bus 2 by Aux 1 doesn't turn up in the mix anywhere: it's solely used for Sidechaining purposes.
    The goal of this setup might be: have a specific frequency band of Track 1 determine the amount of compression on Track 2. The Fat EQ picks out the desired frequency and drives the compressor. The EQ'd signal is not used directly in the mix though.

[top] [contents]

  

.10 How do I use Aux objects with multiple output instrument plug-ins?

In the Audio Mixer, locate an Audio Instrument channel strip (i.e. an Audio object whose Cha parameter is set to "Instrument x"). Click-hold on the Input slot (in Logic 5.2 and up: the second one above the Volume fader; in versions prior to 5.2 the Input slot is the top slot in the channel strip): a popup opens with 3 submenus: Mono, Stereo, and Multi Channel. Now from the Multi Channel submenu, choose a virtual instrument (VSTi for short) (note: you must use the Multi Channel submenu, otherwise it won't work). Lets suppose the channel strip is set to "Instrument 1" and you inserted an EXS instance.

Next locate an Aux object. Click-hold on the top I/O slot (i.e. the one to pick the Aux's input source). In addition to the usual Input and Bus submenus, you will now also find an "Instrument 1" submenu. In this submenu you'll see "EXS 3, EXS 4, EXS 5..." (if the Aux is mono), or "EXS 3-4, EXS 5-6, ..." (if the Aux is stereo). Pick whichever EXS-output you want. Make sure the Aux's output assignment is correct (e.g. "Output 1-2").
Use other Auxes for the other EXS-outputs.

  • The picture shows an Audio Instrument with an EXS instance inserted as "Multi Channel". The AudioInst object itself will output outputs 1 and 2 of the EXS. Aux 1 and 2 take care of outputs 3-4 and 5-6 of this same EXS-instance.

Now all this only makes sense of course if the VSTi actually sends audio to its various outputs. In the EXS's Instrument Editor, you can assign Zones and/or Groups to the 16 possible outputs. Other VSTi's use popups, buttons or some other means of assigning sounds to the various outputs. The implementation details vary between VSTi's and are thus not treated here.

You will have noticed that in the Auxes' Input popup you can only pick EXS-outputs 3 and up: the first 2 outputs of any VSTi are always being taken care of by the Audio Instrument channel strip itself.

So if you wanted to use the first 8 EXS outputs in stereo pairs, insert the EXS as "Multi Channel" in an Audio Instrument. In Aux 1 pick EXS 3-4 as input, in Aux 2 pick EXS 5-6, and in Aux 3 pick EXS 7-8. In the Audio Mixer's window, deselect "Protect Cabling/Positions" in the View menu, and then drag the 4 channel strips around so they're neatly lined up (not strictly necessary of course, but just convenient).

If you wonder what this is good for: when you look at the picture, you'll realise that this setup allows you to apply different effects to different VSTi outputs. Suppose you have a drumkit loaded in the EXS, and you'd like to apply compression to just the base and snare drums, and leave the other pieces of the kit alone. You could split your MIDI track into two tracks, one containing base and snare and the other the rest, and assign both tracks to different Audio Instruments, each with an EXS inserted that has the same drumkit loaded. This clearly is a pain to work with. Using multiple outputs enables you to keep everything on one MIDI track, and still apply different effects to different parts of your drumkit. The only thing you have to do is edit the drumkit instrument to actually make use of the different outputs.

[top] [contents]