In this the first of a two part series I'm going to show you how to build a live performance rig in Logic Pro. The idea is to mimic the feature set of BT's Sonifi iPhone app, although as you'll find out that's just the tip of the iceberg!
This tutorial includes screencasts available to Tuts+ Premium members.
Also available in this series:
- How to Create a Live Performance Rig in Logic Pro – Part 1
- How to Create a Live Performance Rig in Logic Pro – Part 2
- How to Create a Live Performance Rig in Logic Pro – Part 3
The other day I purchased electronic music maestro BT's Sonifi app for my iPhone. It's a rather cool remix tool that let's you switch loops and control FX using the touch screen. It also has a really cool 'Stutter' type glitch effect which can be triggered by shaking the phone. I thought to myself (while scratching my chin), "I wonder if you could make this using just Logic Pro?"
So began an afternoon of experimenting, lot's of transforming and general hair pulling as I tried to get this to work. Soon into making this Sonifi emulation I realized the incredible potential for some of the techniques involved. Using only Logic's native plugins and four channel strips I'd managed to come up with a live performance rig complete with beat sync able loops (both audio and MIDI) and a full suite of controllable FX all triggered via a MIDI keyboard, including the 'Stutter' effect (but without having to shake the computer!). If you've ever seen Tim Exile's Reaktor based live setup you'll see what we're trying to achieve here, albeit a simplified version though!
Another Virtual Instrument that uses triggered key effects is Heavyocity's Evolve Mutations library for NI's Kontakt 4. This makes use of Kontakts powerful scripting features to trigger the effects.
In this tutorial we're going to delve deep into the Environment, create about a million transformer objects and see how to problem solve and troubleshoot some pretty complex MIDI situations. Like the fact Logic doesn't generate Note Off messages during playback of recorded parts! That was a killer!
What you'll end up with is a limitless amount of creative possibilities. Build your own rigs to suit your needs. Turn prerecorded tracks into live improvised sets and more! I'll cover a wide range of applications and scenarios and explain how to turn your ideas into working machines.
Table of Contents For Part 1
- What is Sonifi?
- Setting up the Project
- The Touch Tracks Object
- Audio vs MIDI with Touch Tracks
- EXS24 Import and Setup
- Setting Up Touch Track Regions
- Assigning the Touch Track Regions
- Groups and Beat Syncing
- Testing Your Masterpiece!
- Folders vs Regions
- Working With Multiple Channels
- Live Performance Benefits
- What's In Part 2!
- 20 remix loops
- 4 video walkthroughs
- Project files
What is Sonifi?
Sonifi is a remix app for iPhone. Here's how creators 'Sonik Architects' sum it up.
In Sonifi™, four channels of four unique tracks allow extreme flexibility and remix possibilities. The (4x4 matrix of) tracks can be mixed, muted or soloed and contain four completely unique elements and arrangements per-channel. There are four tracks of ripping beats to choose from, four tracks of fat bass lines, four tracks of glitchy synths and FX, and four tracks of cutting edge melodies.
Everything in Sonifi™ happens in-time and on-beat; so making a mix is both fun and effortless. If you are a musician or DJ the sky is the limit! Currently, three discrete real time effects are controllable using the X/Y axis of the iPhone or iPod touch screen: Lo-Fi, resonant high pass filter, and resonant low pass filter.
From what I can make out at any one time there are 16 tracks running concurrently. Each element (Drums, Bass, Synth FX and Lead) can access one of it's track at any one time, essentially you solo your selected part for that element. It's more of a crossfade really, hence the 'remix' label.
You basically get four different versions of the same track split into elements that can be combined to make endless variations. Throw in live touch screen FX and vector movement triggered glitch effects, Sonifi is a whole lot of fun!
The one draw back is that it is just a track of finite length. Just when you find yourself getting into it it stops! It also currently ships with the one track which follows the same structure which can get a bit tedious, although add on packs are in the works.
The focus of this tutorial is to create a similar remix tool with live triggered FX and a pseudo stutter effect using only Logic Pro. It should all be able to be triggered via keys on a keyboard or some kind of device like a Korg Nanopad (which also has an X/Y pad too) so you can use it live.
The added bonus is that we'll have no set structure to the track. You'll be able to decide for yourself!
The two main elements of this tutorial focus on Touch Tracks for phrase triggering and the Transformer for the live FX. So let's begin!
Step 1 Setting up the Project
Create a new Project File -> New and select Empty Project from the Explore folder.
You'll be prompted to create a new track. Select Audio Instrument.
Create two sends, one to 'Bus 1' and one to 'Bus 2' these will come into play later on. Make sure the created Aux tracks are Stereo.
Go into the sends by clicking and holding and select 'Post Pan'. This ensures that anything sent to the busses will take it's stereo pan information with it.
When sending say a set of BV's that are panned to different areas in the stereo field to a stereo reverb on a bus, setting the send to post pan will ensure they retain their stereo image in the reverb. Using post fader or pre fader in the send means they all arrive at the stereo reverb in mono! Useless!
Open the Environment (Command+8) and just delete the 'prelisten' track. Logic will give you a warning but choose delete anyway. You should now have something that resembles this.
Before we leave the Environment lets create the most important element, the Touch Tracks object.
Step 2 The Touch Tracks Object
Touch tracks has been a feature in Logic since I can remember (and that's a long time!). It allows you to assign and trigger MIDI regions from notes on your keyboard. This is similar to the function in Ableton Live that allows you to assign a group of Clips to a note on your keyboard. This feature has to predate Live's by at least 10 years.
The creative applications of Touch Tracks are vast. It means a key doesn't just trigger a note any more, it can trigger a phrase of notes or a certain combination of phrases contained in individual regions. In fact anything capable of being triggered or controlled by MIDI can be accessed via a region using Touch Tracks! And in Logic that means well, nearly everything. From notes to predefined automations of plugins and channel strips. Can you see where I'm going yet?
To create the Touch Tracks object select New -> Touch Tracks in the Environment.
Once the object is created it will open the Touch Tracks window.
We'll come back to this in a bit so just close the window. You can access this at any time by double clicking the Touch Tracks object.
Step 3 Audio vs MIDI with Touch Tracks
One thing that Touch Tracks can't do that Live can is trigger audio regions. There is a pretty simple workaround to this and it involves simply loading your audio regions into an EXS24 sampler. The audio files are then simply triggered via MIDI. The rig we're going to build is going to use this technique. Although I will show you some other options later.
This means all the audio for our whole track can be contained inside one instance of an EXS24. While this may seem a little limiting, for the purposes of our Sonifi experiment it will be fine. You can of course build large multi channel setups using many samplers (not just the EXS, try Kontakt) for each element which will give you greater control in the long run.
Step 4 EXS24 Import and Setup
Insert an EXS24 into the Software Instrument channel strip we created earlier.
Press the 'Edit' button to open the EXS24 instrument panel. This is where you can assign samples and adjust the internal mapping and parameters of your samples.
Go to Zone -> Load Multiple Samples to open the import finder.
Locate the '20 Remix Loops' in the 'Playback' folder that comes with this tutorial. Select Add All and press Done.
You'll notice I've numbered the samples so they come in in a certain order. If your loading multiple files like this Logic will map them starting with the top file in the folder downwards. You can change this by selecting 'Date Modified' or reverse the order by clicking 'Name' at the top. It's worth naming the files like this if you want specific mappings for a folder of samples.
When you press 'Done' Logic will ask you how you want to map your samples. By default Logic will select the box by 'Contiguous Zones', this is what we want. This will map all our samples (one per key) across the keyboard starting at C1.
The next thing we need to do is disable the 'One Shot' option for our samples. This plays the sample till the end regardless of how long you press the note. As our MIDI trigger note is the perfect length we don't need this as we want the sample to stop when the note does.
Select the top sample Zone and 'Shift + Click' the bottom one to select them all. Hit the 'One Shot' button on any of them to disable them all.
I've also rebalanced some of the samples using the volume parameter as we'll be triggering all the samples at maximum velocity. If your creating your own remix set you can pre balance the samples before you export them, which is what I probably should have done! Either way at least you know you have the option to do this.
Save your new Instrument by going to Instrument -> Save as in the Edit panel. You can save this where ever you like for now. The default folder for saved Sampler Instruments is in your user folder in Library -> Application Support -> Logic -> Sampler Instruments.
Logic will load the instrument when you save it. You can reload it in any project from the instrument browser.
Step 5 Setting Up Touch Track Regions
Now we need to create the MIDI regions for the samples. Each one will be given it's own region and assigned to a key in the Touch Tracks object.
Since we have twenty samples you might think this is going to take ages to set up, well it's not! Follow these steps:
Create a MIDI region 1 bar long using the Pencil tool on the EXS24 channel in the Arrange page.
In the Piano Roll create a 16th note at C1. Make sure it's velocity is 127 and is the right length (. . 1 0).
Copy the note up the keyboard every 16th note till you have four. Copy those four again till you have eight.
Copy again till you have twenty. Drag the bounding box of the region so it lines up with the end of your last note.
In the Arrange hold 'Option' and stretch the region out till it's 4 bars long. Holding the 'Option' key while making the region longer stretches the MIDI notes inside to fit the part (this also includes any controller data). Because our region is 5 beats long this initial stretch will make the next easier.
Now stretch the region again to 80 bars long (20 notes at 4 bars each. 20 x 4 = 80).
Select the Scissors tool and holding 'Option' make a cut at Bar 4. This divides the whole region based on the length of the first cut (4 Bars). Clever eh! You now have twenty regions for all your sample triggers.
Name your regions (this will make things easier for the next step). Select the first four and double click in the region parameter box name. Type: Drum Loop 1. This will automatically give each region a sequential number. Drum Loop 1, Drum Loop 2 etc. Do the same for Bass 1-4, Pad 1-4, Arp 1-4 and Lead 1-4.
Now color your parts so they're easily identified as groups of sounds. Once you've named you regions save your project.
Now mute all the parts. You have to do this as we don't want the regions to be played by Logic in the Arrange page, we want them to be triggered exclusively by Touch Tracks. It makes no difference to Touch Tracks that they are muted, it will trigger the note inside them regardless.
Step 6 Assigning the Touch Track Regions
Open an Environment window (Command+8) and rename your Touch Tracks object 'Remix Regions TT'.
Double click it to open the Touch Tracks window.
We need to access the Arrange page now while keeping the floating window open. Press the 'Tilde' key (~). This will rotate any open windows into view. The Arrange window should appear.
To assign a region to a Touch Tracks note just drag it from the Arrange onto a note in the Touch tracks window.
Repeat this step from left to right with your regions until they are all assigned. The order should follow the exact mapping of our EXS24 samples which relates to our MIDI regions too.
Once this is done we can set up the Touch Track options.
Step 7 Groups and Beat Syncing
Now we need to put our sample elements into groups in the Touch Tracks window. At the moment we have four drum loops, we need to set this up so that only one drum loop is allowed to play at any given time. Groups are a perfect way to do this as they only allow one voice per group. By setting all our drums to Group 1 if a sample is active the next one triggered will replace it.
The Touch Tracks interface is a little bit weird to get your head around and looks a bit of a mess at times but it's pretty simple really.
In the Group column, click and drag down on the '|' next to Drum Loop 4 (D#1) till you reach the number 1. You'll notice the number below randomly now reads 136! I have no idea why!
Click and drag down on the 136 by 'D1' till you get the '|' back. This shows that 'D1' now has the same setting as the note above it (D#1). This can seem really confusing at first but you'll get used to it. Do the same for the note C#1 and C1. You should have something like the image below. We can see that all the Drum loops are set to Group 1.
Now in the 'Trigger' column select 'Toggle Loop' from the drop down on Drum Loop 4 (D#1). Notice the one below reads 'Multi' which is the default.
Select 'Toggle Loop' for all the Drum Loops. You'll see the '|' symbol appears instead of 'Toggle Loop'. This means they are all the same as the top one (D#1).
'Toggle Loop' means that when a key is triggered it will continue to play/loop whatever is assign to it until the same note is played again, which stops it. For a full breakdown of these modes you can find them in the manual by searching 'Touch Tracks'.
Next up is the 'Start' parameter. This let's you round the start of playback to the nearest note value. We want every whole bar. This means you can trigger a region and it won't start till the next bar division ensuring the triggered content is perfectly in sync.
When triggering content using the 'Start' value '1/1' it's best to play a little (at least a beat) in advance. Triggering on the bar line can have some unwanted side effects as Logic gets confused. The smaller the division (1/4) the trickier it gets. So be aware! 1/1 is the safest bet.
Set all the Drum Loops the same value as before.
Go ahead and set up the rest of the elements like the image below. Bass to Group 2, Pads to Group 3, Arps to 'Off' (some of these work well together so you might want more than one playing) and Lead to Group 4.
Step 8 Testing Your Masterpiece!
Your now ready to test your work! That is unless you just went straight ahead and opened the project file I've supplied! If that's the case then shame on you!
Actually working through this a building it yourself will teach you a process and some useful techniques. When you find yourself in a situation both at a hobby or pro level where you need to repeat this or do something like it you'll find easier because you took the time to learn it. Isn't that the whole point of this?
Anyone can Copy and Paste. It's when you have nothing to Copy and Paste you realize you don't actually know anything!
Go ahead and create a new track. Track -> New. Select 'External MIDI' and check 'Open Library'.
In the Library choose Other Objects -> Remix Regions TT or whatever you named your Touch Tracks object.
Make sure the track is armed and selected and hit play. Hit C1, you should hear a loop come in at the next bar line. Hit it again to stop it at the next bar line. Success!!!! I hope!
Start to experiment bringing loops in and out, try some combinations. You can refer to the Sample-Mapping.pdf that is supplied in the Playback folder. The hardest thing about this type of thing is remembering which sample is playing so you can stop or replace it.
So that's the basic setup for the sample playback in our Sonifi emulation. I've saved out a project file up to this point called 'Sonifi Premium - Part 1'. I'm going to stop the build there to give you some time to experiment and get used to working and playing with the Touch Tracks stuff.
The next two sections are a couple of techniques and discussions on how to use Touch Tracks in different ways. In the next part I'm going to show you how to trigger Folders. It's just some bonus stuff really!
Step 9 Folders vs Regions
If like me you have a hard time remembering which keys are active you can go for an easier solution and group a selection of regions together in folders to make song sections. Touch Tracks is also capable of triggering folders. The folder then plays all the regions inside it. The Folder must be muted (like we did with regions), it's kind of like a Russian doll thing where the outer most layer must always be muted.
An easy way to set up some sections would be to just try out some combinations. Make a load (20 in fact) of duplicate EXS24 tracks (Option + Command + S). Drag the muted regions in order to each track.
Now just copy regions and arrange like you would normally. Make sure to unmute the regions.
Select the first selection or section.
Go to Region -> Folder -> Pack Folder.
Once the Folder is packed, mute it!
Do the same for all the other sections. Make sure you name the folders.
Set them up just like you did the regions. Give them a group, I've added them to my existing 'Remix Regions TT' Touch Tracks object and assigned Group 5. This is to make sure only one section can play at any time.
Try it out for yourself. The only downside is the regions in the folder that belong to Group 5 and won't stop any regions assigned to other groups even if they are duplicate regions. Example: Drum Loop 1 in a folder in 'Group 5' won't stop Drum Loop 1 in 'Group 1'. You'd have to know which regions to switch off before you triggered the folder.
Step 10 Working With Multiple Channels
Touch Tracks works with any number of instrument channels as long as the triggered region resides on it's instrument track.
Packing multiple instrument channels into a folder is no problem either as long as the folder is muted.
Just assign the folders to the Touch Tracks as usual.
Trigger them from the Touch Tracks track in the Arrange. All the channel strips work as normal and can be balanced, panned, effected independently etc.
The same goes for Multi Output Instruments. As long as the triggered regions are on the instrument track you can still group the elements to different outputs for further mix control. I've created a new EXS24 instrument called 'Remix Loops Multi Out' and assigned the elements to different outputs.
Just load a Multi Output EXS24 in place of the stereo version and load the new instrument.
Here you can see the individual outputs in the mixer.
These are just a few examples of how you could set up a Touch Tracks project. It could be as simple or as complex as you like.
Step 11 Live Performance Benefits
Playing with backing tracks live is a reality for some bands (or just plain miming!?!). The major drawback to playing to one long file is simple that, it's just a long file! Same thing, day in day out. There's no room for any deviation in the structure in the song. Touch Tracks puts a whole new spin on live backing tracks. You can trigger your song sections and if you want to extend the chorus at the end you can. Need a 20 minute guitar solo instead of the usual 15 minutes then just let the section loop a few more times.
It's pretty simple to stem up a track, or even edit a pre-existing backing track into sections. If your already using a laptop live with a band to run elements then maybe this could be a new lease of life. All you need is something to trigger the Touch Tracks.
Step 12 What's In Part 2!
So that's it for Part 1! In the next installment we'll be doing the juicy bit, emulating the live FX that Sonifi offers, and some more! It's going to hurt your brain so beware! I'll be giving Logic a serious kicking via the Transformer object and look at some workarounds to some MIDI weirdness in Logic. There maybe some bonus goodies if your lucky too!