Logic Notes

Driving Logic From Control Surfaces

Published in SOS March 2003
Printer-friendly version Printer-friendly version

Technique : Logic Notes
 

Screen 1. This arrangement of Transformers can be used to increment and decrement an Environment Fader object from a hardware endless rotary control. Incoming MIDI Controller messages with values 64 or higher follow the top (red) path where multiple copies are made for higher values. Those multiple events are then converted to 'Bang' Meta messages to increment the knob. The bottom (green) path works similarly for incoming values below 64.

This month we show you how to drive Logic from control surfaces with endless rotary encoders, and also investigate the powerful MIDI processing available from the Transform window. Plus, there's advice on copying plug-in setups between Songs, as well as another collection of useful tricks and workarounds.


Len Sasso

One of the greatest features of Logic is its ability to convert one set of MIDI data into another according to user-definable rules, using either the Transform window or the Environment's Transformer object. We've already covered the basics of using both of these in past Logic Notes columns, so I'm going to delve a little deeper into the more powerful features this month, to demonstrate just how versatile and powerful Logic's MIDI processing can be.

Setting Up Endless Rotary Controllers

Many hardware control surfaces now feature endless rotary knobs (also known as 360-degree knobs) whose intended use is to increase or decrease the value of a software parameter regardless of its current value. All well and good if your software supports that feature, but often it doesn't. In some cases, Logic's Environment can come to the rescue. The trick is to create an Environment Fader to control the desired parameter (for example, a plug-in setting or mixer control), then set up some additional Environment circuitry to make the incoming endless rotary data increment and decrement the Environment Fader.

Screen 2. This Transformer setup creates a new volume event (MIDI Continuous Controller number seven) for each note in a sequence. The volumes are derived from the note velocities by 'flipping' them around 64.

Although the format varies, endless rotary controllers generally send out standard MIDI Continuous Controller messages whose value depends on the direction and speed the knob is turned. My Native Instruments 4Control sends out MIDI Continuous Controller 32 messages with values 64 and above when turned clockwise and below 64 when turned anticlockwise. The further the value is from 64, the faster the knob is being turned. Logic uses internal messages called Meta messages in the Environment for special tasks. One of these, the 'Bang' message (Meta message 99), can be used to increment and decrement Environment Faders. Converting the incoming data from an endless rotary knob to Bang Meta messages therefore allows it to increment and decrement Environment Faders — just what we're looking for.

The first step is to use a Transformer object to split the incoming messages into those that result from clockwise and anticlockwise motion. The clockwise stream of messages should then be converted to Bang messages to increment the Fader, while the anticlockwise stream is converted to Bang messages to decrement it. The one shortcoming of this scheme is that it doesn't take into account the speed of rotation. To do that, set up Transformers to make additional copies of the Bang messages for values of the incoming data further from 64. For example, make one additional copy if the incoming value is 62 or 65, two copies if it is 61 or 66, and so forth. A setup to do this is shown in Screen 1.

  Copy & Paste Complete Plug-in Setups  
  If you're making an album in Logic where there are several acoustic sound sources always assigned to the same tracks, this little tip could save you a lot of time. In a typical situation, you'll come to do the mix, then spend a while selecting and configuring the necessary plug-ins to process the audio tracks for the Song you're working on. However, when the song is finished, how can you copy those plug-ins and settings to the next Song? After all, if you have the same audio sources on the same tracks, the chances are you'll need more or less the same plug-in setup.

The trick is to open the Audio Configuration window by selecting it from Logic's main Audio menu. All the plug-ins for all the channels will show up for the Song you've just set up. Now use the keyboard shortcut Select All command followed by Copy (you can also do this from the window's Edit menu), then open up your new Song. Go to the Audio Configuration window in your new Song, then use the keyboard shortcut for Paste or select Paste from the Edit menu. Obviously the track setup must be the same for this to work properly, as you can't paste a plug-in if it has nowhere to go. All the plug-ins and settings from the first song will be placed into their correct tracks in your new song and any existing plug-ins or settings in the new song will be overwritten. Paul White

 

Transforming Notes To Controllers

Logic's Transform window is useful for more than simply modifying MIDI data. You can also use it to create data. For example, you can create MIDI Volume, Pan, or Pitch-bend events following note pitches or velocities. The trick here is to use the Transform window's Copy Selected Events Apply Operations mode. That mode creates a new event for each event specified in the Conditions section and makes the newly created events conform to the settings in the Operations.

Screen 3. The Transform window on the left is set up to create a velocity crescendo for the notes in the first two measures of the sequence. The Matrix Edit window at the top right shows the resulting velocities as note colours ranging from purple (lowest) to red (highest). The Matrix Edit window at the bottom right shows the result of shortening and shifting the notes at the second, third, sixth, and seventh eighth-note subpositions.

In Screen 2, I've set up the Transform window to select notes and create volume messages (MIDI Continuous Controller number seven) from them. I've used the note velocities for the volume level, but I've 'flipped' the value around 64 so that higher velocities result in lower volumes. Notice also that I've subtracted 32 ticks from the position of the created events so that the volume adjustments come before the notes to which they correspond.

When converting notes to other MIDI data, keep in mind that each note is really two events—a Note On and a Note Off. Usually you will want only the Note Ons to result in new events. No Transformer Condition will allow you to exclude the Note Offs, so you need to delete the newly created events whose value is zero (corresponding to notes with velocity zero, in other words the Note Off messages) You can do that manually in Logic's Event List window or you can set up a Condition in the Transform window to select the zero-value events and then use the Transform window's Delete Selected Events mode. (You might want to set up a Transform preset for just that purpose.)

You are not restricted to using note velocities for the resulting controller values. The vertical black lines between the Transform window's Conditions and Operations sections (often called the Swap Bars) can be clicked to transfer channel, pitch, or velocity to any of the Operation values. You can use that, for example, to make pan position follow pitch — a more likely choice than velocity.

Time-based Transformations

Logic's Transform window is a powerful tool for selecting and modifying MIDI data based on its time-position, a feature you can use to create crescendos, accent or quantise notes at specific time-regions within the measure, or completely scramble a sequence. First select the sequence containing the data in the Arrange window or open it in any of Logic's editors, then open the Transform window. In Screen 3 we've selected all notes between the beginning of the first and third measures (position 1 1 1 1 to 3 1 1 1), and we've asked Logic to create a crescendo with velocity range 1 to 127. You can see in the Matrix view (top right) that the note colours range from purple through green to red indicating minimum to maximum velocity.

You can apply transformations to disconnected notes within a sequence (every other note, for example) by first selecting the desired notes in a note editor, then using the Transform window's Operate Only button. Alternately, you can use the Select Only button together with the Subposition Condition at the right end of the Conditions section to select notes at certain positions within each measure. In the Matrix Edit window shown in Screen 2, I first selected the second and third eighth notes in each measure by using Subposition range '1 1 2 1' to '1 2 1 1'. I then selected the sixth and seventh eighth notes by Shift-clicking the Operate Only button while using Subposition range '1 3 2 1' to '1 4 1 1'. Once the notes were selected, we shifted and shortened them by a 16th-note triplet using the Operate Only button — perhaps not the most musical choice, but illustrative of the point.

  Logic Tips  
  As of version 5, Logic allows you to mute individual notes in all note editors. There's a new tool (with an 'M' icon) for that purpose, and you can assign a Key Command to toggle between it and the primary tool. The existing key-command for muting all selected objects now also applies to notes, and there's a new Edit menu option in all editors to select all muted objects, which is handy for deleting them once you've decided you no longer want them. Len Sasso

The MIDI input/output display in Logic's Transport window has two often-missed functions. It displays chords when several MIDI notes are being held, and it will send individual Note Off messages for every note and channel when double-clicked. The chord display is quite sophisticated and will correctly show upper extensions (ninths, 11ths, and 13ths), accidentals, and added bass notes. If you use the chord-display feature often, consider changing the Transport display to show only the MIDI I/O section at its largest magnification. Len Sasso

When working in the Environment there are many situations that require connecting a cable from an object in one Environment Layer to an object in another. The quickest way to achieve this is to open a second Environment window, choose the Layer of the destination object, and draw the cable directly from one window to the other. If you're going to do a lot of cabling of this sort, open the destination Environment as a floating window so that you don't have to keep changing between topped windows. Len Sasso

Have you had trouble getting the Logic's Oscillator plug-in to make any noise? This is because it will only output a signal when there's an audio object in the track and the transport's in play mode. Mike Senior

Logic v5.5 contains a free upgrade for the EXS24 sampler, the EXS24 MkII. It features an expanded filter section as well as modular control routing. One of the new control routings allows you to select among samples in a layer using any MIDI controller. If you use that mode, keep in mind that all samples in the layer will always be triggered, regardless of the controller value. That's necessary for smooth transitions using the controller, but it also eats up lots of CPU cycles. Len Sasso

 

  Current Versions  
  Mac OS X: Logic Audio Platinum v5.5
Mac OS 9: Logic Audio Platinum v5.5
PC: Logic Audio Platinum v5.5
 

Published in SOS March 2003
Friday 21st November 2008
Login or Register here
Sub PIN or Email
Password
Remember me
Stay logged in
Lost password?
Request a reminder
Not registered?
Register Now for FREE
No https access?
Login here
December 2008
On sale now at main newsagents and bookstores (or buy direct from the SOS Web Shop)
SOS current Print Magazine: click here for FULL Contents list
Click image for Contents

Photos too small? Click on photos, screenshots and diagrams in articles to open a Larger View gallery.