You are here

Using Hardware Controllers With Logic

Logic Tips & Techniques By Stephen Bennett
Published November 2005

Controlling the Phaser plug-in using Fader messages created in the Hyper Edit window.Controlling the Phaser plug-in using Fader messages created in the Hyper Edit window.

Not everyone can afford to invest in a dedicated high-spec hardware controller such as Logic Control. However, you can use even the most humble of MIDI devices to control your mixer, software synths, and plug-ins instead.

Although I do most of my automation in Logic using the mouse and Key Commands, there are times when only the twiddle of a knob (or a slider) will do. While I'm happy to adjust levels, pan sends, and effect plug-in parameters with the mouse, it's always easier to control the virtual knobs on a virtual instrument with their real-world counterparts on some kind of controller. This is particularly true of virtual analogue synthesizers, where I'll probably want to automate the synthesizers' parameters live as the track progresses. Doing this in real time and with real knobs is the best way to achieve the feel (and occasional serendipitous accident) that you get if you use a 'proper' analogue synthesizer. Version 7 of Logic has made some great strides in making this control easier to achieve, even without dedicated control hardware such as Logic Control.

Automation Quick Access

I use a Alesis Photon XP controller while automating mixes, but the techniques described in this article are applicable to any controller keyboard or MIDI fader box. Occasionally, I'll want to use a fader to input volume or pan automation into Logic. It can be quite efficient to use a hardware fader to create rough automation lines around vocals, dynamic volume curves in sustained string or trumpet parts, or fades at the end of a Song. I usually use my master keyboard's modulation wheel for this, or one of the sliders on my Roland XP50, though any control that outputs MIDI controller data can be used. The way you set it up is via Logic 's Automation Quick Access feature, which is found in the Track Automation submenu of the main Options menu. The first thing to do is choose which automation parameter you'll be adjusting from the Arrange page. Make sure Track Automation is switched on in the Arrange page's View menu, and choose an automatable parameter from the Track Instrument — in this case it's Volume. If you are selecting Automation Quick Access for the first time, Logic will ask you if you want assign the controller. Click on Assign and the Automation Quick Access window will open.Using Hardware Controllers With Logic

If you move the hardware control you want to use up and down, Logic will tell you that it has assigned it to your chosen automation parameter. Click on Done and close the window. You can now use the control to adjust Volume automation. If the hardware controller you are using is usually assigned to something else (say modulation) you can turn Automation Quick Access on and off using the Toggle Automation Quick Access Key Command.

Hands-on Control Of Multiple Parameters

While setting up a single hardware controller rapidly like this can be useful when automating Volume or Pan parameters, when you want to use a hardware controller with a virtual instrument you'll probably need several controllers to be assigned for use at the same time. My Photon XP has 10 controller knobs, for example, so here's how I set it up to control multiple parameters in Logic 's own ES1 soft synth. First insert ES1 on an Instrument Track and open the Controller Assignments window from either the Track Automation submenu of the Options menu or the Control Surfaces submenu of the Logic Pro Preferences menu.

Create a new Zone from the '+' button underneath the Zone column, naming it something useful, and click on the Learn Mode button. Use the mouse to move a parameter on ES1, in this case Cutoff, and then move the hardware control you wish to control it with. You should see the assignment listed in the Control/Parameter column. Repeat this process until all the ES1 parameters you wish to control are assigned to the required hardware controllers.

Now, if you set ES1 's automation mode to Latch, you can record the movements of the hardware controllers, and thus ES1 's parameters. If you didn't press Record, you can use the Capture Last Take Key Command to record the performance after the event. Of course, you can always record the notes first and then the parameter manipulations on a second pass.

You can continue to assign your hardware controller box to other virtual instruments or plug-ins in just the same way, creating each set of assignments in a new Zone. I used this controller assignment system recently at a live gig, using Apple's AULooper plug-in to replace a hardware echo unit I'd previously been using. I had a microphone plugged into the Photon via a small mixing desk, and AULooper inserted into an Input Audio object through which I'd routed the microphone input. With a buffer size of 128 samples I could easily play the flute live through AULooper and set up complex loops and rhythms all adjustable by the Photon's knobs.

Using Contour Designs Shuttle Pro

Using Hardware Controllers With Logic Like many Logic users, I also work with Apple's Final Cut Pro video-editing software. To use this more effectively I've bought Contour Design's Shuttle Pro multi-button jog-wheel control surface. As this works by emulating the Mac's keyboard (thus allowing it to control Final Cut Pro via keyboard shortcuts) I thought I'd try using it with Logic in a serious mixing session.

Reassigning my Logic Key Commands allowed me to use the scrub wheel to move rapidly in a horizontal direction around Logic 's Arrange and editing windows. I could also Play, Stop, and change automation modes directly from the Shuttle Pro. It's a different kind of hardware control to the standard MIDI-based system, but I've found it useful during both automation and recording, so you should consider giving it a try if it might suit the way you work.

Using Hyper Edit With Automation

While real-time knob twiddling and on-screen mouse dragging are rapid ways to automate in Logic, I often need precise control of the position and value of automation events. For this, I like to use Logic's Hyper Edit window. Logic 's automation works with Fader messages, which are similar to MIDI controllers, but are internal to Logic. Each on-screen parameter of an effect plug-in or virtual instrument has a specific Fader message associated with it, and you can generate these outside of Logic's automation system using the Hyper Edit window.

The Hyper Edit window is especially useful for generating events based on a grid. Here's an example. Suppose you wanted to change the Colour parameter of the Phaser plug-in every eighth note of every bar in an exact stepped way. You could do this using the Arrange window's automation facilities, but it'd be difficult to get it exactly right with the mouse. Using Hyper Edit, you can draw these fader events on a preset grid. To do this you create or select a region, open the Hyper Edit window, and Create Hyper Set from the Hyper menu. After setting the Status field in the Parameters to Fader, you can then enter the Channel value (which represents the slot the plug-in is inserted on) and the '-1-' value (which defines which plug-in parameter you want to control). In the screenshot I've set up the Fader events to control Phaser 's Colour parameter (a '-1-' value of three).

After inserting Fader messages using the Hyper Edit window's tools, you can further edit the Fader message data in the Event List. This allows you to perform all the usual fine editing procedures, including quantisation. So the question you'll probably be asking is 'How do you know which Fader message values control which plug-in parameters?' Well, you can insert your plug-in on an Audio object in the Environment and cable it to a Monitor object, whereupon adjusting the plug-in's on-screen parameters should display the Fader messages. However, this isn't working for me since I installed Logic version 7.x. The good news, though, is that you can also determine the Fader message values used by a plug-in for each of its values by recording the automation data in the Arrange window in the usual way and then using the Automation Event Edit Key Command to open the Automation Event list, from which you can read off the message values.

Automation & Hyper Draw

I have a lot of older Logic Songs which use the earlier Hyper Draw system for automation. Hyper Draw is a MIDI-based system, where curves are drawn directly onto the regions — hence it is also often referred to as region-based automation. You can convert the older Hyper Draw data to the newer track-based automation by selecting the regions containing Hyper Draw data and using the Move Current Region Data To Track Automation function from the main Options menu's Track Automation submenu. There's also a global Move All Region Control Data To Track Automation menu item. If you are using a system like Korg's Legacy hardware MS20 controller, which outputs MIDI controller data, you can record your knob-twiddling then convert it into track-based automation using the menu items listed above. This will save you having to define a controller set within Logic especially for the MS20 using the controller assignment functions.