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.
In Logic there are 2 different views of what a bus is. This is potentially confusing, so it's important to get this straight.
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.
See the "Overview of all Audio Objects" in this FAQ.
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.
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.
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.
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.
|
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. |
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?
|
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:

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:
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.
![]() |
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 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.
|
![]() |
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 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.
|
This currently can't be done.
![]() |
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.
|
So, to sum it up:
![]() |
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.
|
![]() |
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").
|
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.