Recreate Ableton Live's Beat Repeat with Logic.
In this month's Logic workshop, we'll look at applying some black-belt Environment techniques for controlling plug-ins. This will hurt!
It's not very often I get sequencer envy, but every time I use Ableton Live, I must confess to being covetous of its Beat Repeat plug-in, which, as Ableton say, creates "controlled or randomised repetitions of an incoming signal”, facilitating very quick and funky loop manipulation. So, in a moment of Ableton jealousy, I set about recreating the essence of it in Logic. Here's how to accomplish this using nothing more than Logic's included Tape Delay plug-in and a few cool Environment tricks.
Begin with a new Logic project that has a single audio track.
- Drag and drop your favourite dance tune onto the Logic audio track. We will use this track to test our processing chains.
- Set Logic's master tempo to your dance track's tempo and then set the output of your audio track to Bus 1.
- Next, call up the Environment in Logic by going Window / Environment, or pressing the shortcut Command-8.
- Now select the track object Aux 1 in the Environment window and move it across to the right-hand side of the window so that it is surrounded by plenty of empty space.
- Rename the bus 'Beat Repeat'.
- Next go to the insert slots of the bus. In slot two, call up an instance of the Tape Delay plug-in and enter the settings given in picture 1. Leave slot one free just in case you want to apply any pre-processing.
Logic makes use of Fader commands to control plug-in parameters. If you fancy a bit of background reading, I covered this in detail in the SOS Logic column of June 2009 (/sos/jun09/articles/logicworkshop_0609.htm). We will use the Environment to create objects that send Fader messages to plug-in parameters, to control them in new and interesting ways. First, we need the Fader values for the parameters in the Tape Delay plug-in that will create a Beat Repeat effect.
Create a Monitor object by going New / Monitor, then cable the outlet of the Beat Repeat bus to the inlet of the Monitor object. Observe the fader values for the Dry and Wet level, and also for the Freeze button. We'll be using these messages in a moment (see table below).
Now I'm going to walk you through the control manipulations that create a Beat Repeat effect. With your Tape Delay set like picture 1, hit play on Logic, then click the Freeze button of the Tape Delay 'on'. Next, set the Dry level to zero and, lastly, set the Wet level to maximum. You should now hear the classic Beat Repeat effect. We're going to use a Button object in the Environment to send all three messages at the same time, so that we can trigger those events instantly with one button-press.
- In the Environment window go New / Fader / Button 3. This creates a Button object for us to configure.
- With the button object selected, go to the Inspector and set its Range to 0 0. This means that our button effectively has one state. Still in the Inspector, go to the Output menu and set it to SysEx. You will see the SysEx Fader window open automatically. In this window we'll enter the Fader commands that we want our Button object to send. Unfortunately, Logic doesn't allow you to create Fader commands directly in the SysEx window, so we'll have to create one and copy and paste it in.
- Drag the Beat Repeat channel from the Environment onto the Arrange page. Logic will prompt you to 'Create a new track for the environment objects'. Click 'Create'.
- With the pencil tool, draw a region onto the Beat Repeat track.
- Highlight the region and, at the bottom of the Arrange window, click the Hyper Editor tab.
- Next, click on one of the event lanes in the Hyper Editor, go to the Inspector and, from the Status menu, choose Fader.
- With the pencil tool, draw some automation data into that lane.
- With the region still selected, open the Event list editor, select a Fader event and press Command-C to copy it to the clipboard. Return to the Environment, select the button object and, in the Inspector, double-click on the Output menu definition SysEx to once again bring up the SysEx Fader window.
- Use Command-V to paste the Fader event into the SysEx Fader window.
- You can now delete the Region and automation data you previously created.
Now that we have a Fader command, we can edit and duplicate it to fit our requirements. First of all, let's create a button that contains our default settings with the delay effectively bypassed.
- Edit the Fader command by double-clicking on the values so that they read Fader, Ch 3, Num 14, Val 0. This sets the Freeze button 'off'.
- Copy and paste that command so that you now have three Fader commands.
- Edit the second command so that it reads Fader, Ch 3, Num 19, Val 100. This sets the Dry level to 100.
- Edit the third so that it reads Fader, Ch 3, Num 20, Val 0. This sets the Wet level to 0.
- Lastly, click in a blank space of the Fader window so that nothing is highlighted, then close the window.
- Now duplicate the button object by holding down Option and dragging it to an empty space in the Environment window.
- Open this button's SysEx Fader window and set it as shown in picture 4. These settings will turn the Freeze button on, and set the Dry level to zero and the Wet level to 67.
- We now have two buttons: label them 'Bypass' and 'Beat Repeat On' accordingly.
To complete the basic Beat Repeat effect in the Environment window, go New / Transformer, then cable the outlet of the button objects into the Transformer and the Transformer's outlet into the Beat Repeat Aux channel. Hit play on Logic and use the two buttons that you have created to turn the Beat Repeat Effect on and off. Experiment with opening the Tape Delay plug-in and changing the delay times to different note values, such as crotchets and quavers.
We now have a working model of a beat repeat effect, but to allow us to use different delay times in the most flexible manner, we need to use multiple delay plug-ins. Let's look at using two Tape Delay plug-ins to give us a range of options. The first step is to copy the Tape Delay plug-in to insert slot three of your Beat Repeat bus. In this second instance of the Tape Delay plug-in, set delay time to a crotchet.
Now let's revisit our bypass button and add the required messages to bypass the second Tape Delay plug-in.
- Bring up the SysEx Fader window for the Bypass button and shift-click the three Fader messages so they're all selected.
- Now press Command-C and then Command-V, to duplicate the messages.
- Set the channel of each duplicate message to '4'. This will send the same messages to the next insert slot, ie. the second instance of the Tape Delay plug-in.
- Next, open up the SysEx window for the Beat Repeat On button and add the following messages: Fader Ch 4, Num 14, Val 0; Fader Ch 4, Num 19, Val 100; Fader Ch 4, Num 20, Val 0. These messages are the same as you added in the bypass button and ensure that when, later on, you turn on the first instance of the Tape Delay plug-in, the second one remains unused.
- Next, duplicate the 'Beat Repeat On' button by Option-dragging it, and rename the duplicate 'Beat Repeat 2 On'.
- Call up its SysEx Fader window and enter the Fader messages displayed in picture 6 for Beat Repeat 2 On. These messages bypass any processing in the first Tape Delay and engage the second Tape Delay plug-in.
- Now hit Play and try the buttons out.
The 'Bypass' button should let the original track through unprocessed, the 'Beat Repeat On' button should engage the first Tape Delay, giving a bar-long repeat effect, and the 'Beat Repeat 2 On' button should engage the second delay and a crotchet repeat effect. You can apply the concepts above to create many more Tape Delay objects, all containing different delay times and even different EQ and modulation amounts.
You can download my example environment from /sos/jan13/articles/logicmedia.htm. You'll also find a bonus project there, which goes further with the same concepts, but which I didn't have enough space to explain here. The extra project uses 10 Tape Delay plug-ins, and I have also created a floating window providing controls for each time division.
Next month, we'll take this idea further still, adding keyboard control and additional processing from Logic's other effects plug-ins. Go to Part 2
|Fader Channel||Fader Number||Fader Value Range|
2. These are the Fader values for three key parameters of the Tape Delay plug-in when loaded into insert slot two on an Aux channel.