Tuesday, October 17, 2006

Transforminating... Part 2

Ok, you should have a grasp of the general concept of the Transform window by now from part 1 - if not, go read part 1 first, then come back here. We'll wait for you!

Ok, a quick recap. We choose which events to SELECT using the top "Select by Conditions" line, and tell Logic what we want to do with those events using the bottom "Operations on selected Events" line. So let's look at the detail of how we do that.

The transform window has 7 columns, common to both the select and operate parameters, and these are:

- Position (bar ruler)

- Status (the type of MIDI event)

- MIDI Channel

- "-1-" and "-2-" - two MIDI data bytes "-1-" and "-2-" which vary what they will do depending on the MIDI messsage (for notes, for example, they are Note Pitch, and Note Velocity. For a MIDI controller, they correspond to the Controller Number (ie 7 for volume), and value (127 = maximum). Some MIDI events, such as program changes only use the one of these two parameters.

- Length (only for notes)

- Subposition (this lets you select events at the same position in every bar)

Ok, let's put this into practice with some SELECT-only examples, so you can get a feel for how the parameters work. Using the Transform Parameter Set flipmenu, select "Create User Set", and make sure "Hide Unused Parameters" is unchecked, so we can see everything.

As we are only selecting events for now, ignore the bottom line of parameters, as we won't be using them.

So, let's start off simply, by saying:
"We want to SELECT ANY MIDI events on MIDI channel 6"

We would leave the Position value to "All" (we don't care what position the events are at). The "Status" we leave at "All", because we want to match any MIDI events. The "Channel" we change to "=", and in the new box that appears underneath we change to "6". The remaining parameters we leave at "All".

So, reading from left to right:
SELECT at any position, any type of events where the MIDI channel = 6, with any data values and with any length or subposition.

Let's try another:
"We want to select any MIDI Controller 7 (volume) events, on MIDI channels 1-3, with volumes of less than 20."

Again, leave the Position to "All". Now for the status, this time we want to select only MIDI controllers, not notes or program changes or any other type of event. So choose "=" for the Status, and choose "Control" in the menu that appears beneath the box. "Control" selects MIDI controller events.

For the Channel, we want want to process events on channels 1, 2 and 3 (ie all channels less than 4). We select the "<=" (less than or equal) and choose 3. Or alternatively, you could choose "Inside" and choose "1" and "3" - all channels "inside" 1 to 3 - for the same result.

Now, we want to select controller 7 data, so the "-1-" value, which coresponds to the controller number, should be changed to "=" with a value of "7". And for the "-2-" parameter, the controller value, we want "<=" and 19 (less than or equal to 19).

You can see that we can easily build up quite complicated selections fairly easily. And as you will have already seen, there are a number of conditions in addition to the usual "equals", "less than or equal" criteria. Let's look at our condition options:-

"All": all events will match this condition

"=": Match an event that equals the value displayed below

"Unequal": Match any event *except* that of the value displayed below

"<=": Match an event that is less than or equal to the value displayed below

">=": Match an event that is greater than or equal to the value displayed below

"Inside": Match any events that are inside the two values below (inclusive)

"Outside": Match any events that are outside the two values below (exclusive)

"Map": Selecting this shows the universal map. This has 128 values (the slices running left to right) and each slice is a little slider where you can set the destination value. We'll have a look at this in more detail a bit later on. Used in the select line, it matches an event if the *mapped value* of that event falls inside the two parameters below. Don't worry aobut this too much, using this as a selection criteria is fairly obscure - but like a lot of things in Logic, it's there should you need it!


You should now have a good idea of how to use the parameters to select a range of MIDI events. So, a little SELECTION-based quiz for you. No one said I had to do *all* the work here! :)

Have a think about how to use the top "Select by Conditions" line to select the following combinations of events, and make a note of your answers. I've done the first one for you, as an example.

(Remember: the Transformer works on selected regions only, so make sure you have selected the region or regions you want to process before hitting the Select/Operate buttons.)

(1) Select all pitchbend events in a region

Answer: Select the region, set the parameters as follows in the screenshot, and then press "Select Only".

(2) Select all notes on MIDI channel 5-8, except C#3 in a region

(3) Select all program changes of less than 32, but only when they are at the start of a bar (the downbeat) in all regions in your song

(4) Select all D#4 notes that have a velocity lower than 10, between bars 32 and 48 in three regions

(5) Select all notes that have a length less than 20 ticks, and velocities of less than 20, that are outside the note range C1 to C6, in all regions

(6) Select all F#2 and G#4 notes with a velocity that doesn't equal 64

The answers will be in the next part, and then we'll move on into actually transforming our selected events into other events.

Further reading: Logic Pro 7 Reference Manual - Chapter 17, page 587.


Post a Comment

<< Home