Learning some basic MIDI Transform functions and modification tools can really help to speed up your workflow and overall output when producing in Logic - I highly recommend setting aside a little time to learn these techniques, even if you just cover one each day.

I’ve broken down my most frequently used process below - it’s quick and simple and it’s what I use in every single session that I work in, so I thought it may be of some use to anyone out there who is getting started.

Do you want to know how to finish tracks? Do you have a hard drive full of unfinished music? Download the Track KO Cheatsheet for FREE and start finishing your tracks today!

Step 1: Quantise

Unless I’m writing a particularly complicated line or a fast arpeggiated sequence, I tend to play instrumental parts in using a keyboard. Even if I’m working on something a little complex I’ll usually just hit record and play the basic elements in, and then go in afterwards to clean up my less-than-virtuosic performance.

The first thing I do, before anything else, is correct the timing of the notes, in the form of quantising (or ‘quantizing’ if you’re in the States). This can be done in a number of ways - I’ll provide an overview of each method, as it’s useful to know the various approaches for differing applications. First I’ll tell you what I use most often, as it’s super simple.

Fast time correction

We need to check off a few points to make sure everything is set up and in place for the fastest approach, just in case your project isn’t configured this way by default. Select the region you’ve just recorded (or drawn) in, open up the Piano Roll by simply pressing ‘P’ on your keyboard, and take a look at the local inspector on the left (pictured).

MIDI Transform Piano Roll

Piano Roll and local inspector

Set ‘Time Quantize’ at 1/16 Note (if it isn’t already), click within the Piano Roll region and press 'Cmd + A' to select all of your notes. Next hit ‘Q’ on your keyboard (for - you guessed it - ‘Quantize’) and you’re done. Simple huh?

You can alter the subdivisions of the beat that you’d like to quantise to e.g. 1/4, 1/2 etc., but mine is always set at 1/16 to start with as that’s my most commonly used degree (and will probably work for the vast majority of your projects). I occasionally need to move to a 1/32 division for fast, detailed notes, or 1/24 for more of a triplet/shuffle groove, but 1/16 will have you covered most of the time, even if you’re in some obscure time signature.

MIDI Transform Quantize divisions

Quantize divisions


You’ll see below the note division that you can also change the strength of the quantisation i.e. how much it affects the notes (you may prefer a less robotic sound), and you can also change the amount of swing.

One important note I should make is that, when you are quantising various parts, it’s a good idea to use the same degree of swing for each instrument, otherwise you’ll find that the track just doesn’t feel quite right. Unless of course that’s the sound you’re going for, in which case, go for it!

If I’m looking to add a bit more groove, I often choose '1/16 Swing C', and then ensure that I stick with it for all of my instrumentation. It’s a good idea to commit to this decision from the outset to save yourself the hassle of having to quantise all your regions again.

Using the Inspector

Another quick way of altering quantisation settings is using the Inspector pane at the top left of the screen - if all you see are tracks, you can reveal the Inspector by either clicking on the ‘i’ button in the top left corner, or simply hitting ‘i’ on your keyboard. Make sure the drop-down arrow titled ‘Region: MIDI Thru’ is revealed and there you’ll see a whole bunch of settings.

MIDI Transform Inspector


The handy aspect of working this way around, is that you can simply select a region in the Arrange window, alter whichever of these functions you wish and the function will be applied, without you even having to go into the region or the Piano Roll. For example, let’s say our notes are all out of time again, we can click on the region to highlight it, click where it says ‘off’ within the Quantize arrows and select a quantisation value. Ta-da.

MIDI Transform Inspector quantize values

Inspector quantize values

What’s also handy is that you can choose to transpose that particular region too. I use this feature in almost every project. For example, I write a bass line and then decide that I’d like to add a higher part to the bass. I copy the region to the new track, and then transpose the region up by one octave i.e. +12 semitones. Presto - I didn’t have to drag around any notes or use any deeper Transform settings.

There are a bunch of additional settings but I won’t go into them here - I’ve got some handy tricks that I’ll cover in a future article.

Step 2: Changing velocity with MIDI Transform

If, like me, you prefer to play in your parts using your MIDI keyboard, you may have a number of inconsistent notes with varying dynamics. Perhaps certain notes are too quiet or too loud - this is a simple fix.

Once again, go into the Piano Roll for this region and hit 'Cmd + A' to select all of the notes that you want to change. Click 'Functions > MIDI Transform > Fixed Velocity', then click ‘Select and Operate’ (if your notes are all selected already, you can actually just hit ‘Operate’, but I’ve experienced some bugs in Logic in the past so I prefer to be overly cautious). All of your notes will be fixed to a velocity value of 100 - you can change this in the settings if you prefer but I like to simply move the Velocity fader in the local inspector.

MIDI Transform Fixed Velocity function

Fixed Velocity function

Alternatively, if you’re a skilled player (I am not) you may wish to preserve the dynamics of your performance, so forget this part!

If you’re feeling more creative, you can actually randomise the velocity values by going into MIDI Transform tools again and selecting (you guessed it again) ‘Random Velocity’. You can then set the range that you’d like and perform the function on the selected notes. This is a handy way of coming up with accented notes that you may never have thought of on your own…nice!

Step 3: Note length

Once I’ve processed note velocities within a part to sound consistent, I move on to note lengths. This, too, can be accomplished quickly with MIDI Transform. When recording, some key presses are more sustained than others and, being a little OCD, I like my notes to be pretty darn tight. This is particularly key if you intend to add delays, as varying note lengths can get real muddy, real fast.

To achieve this more machine-like feel, select 'Functions > MIDI Transform > Fixed Note Length'. Within the ‘Length’ parameter, the note value should read ‘0 0 1  0’ - this essentially equates to 1/16th note within each bar (you can change this if you’d like - this is SMPTE timecode, so ‘1 1 1 1’ equates to 'first bar, first beat, first division, first tick’). 'Select and Operate' and all of your notes will become the same length. Ahhhh, satisfying.

MIDI Transform Fixed Note Length function

Fixed Note Length function

Even if the part is intended to have certain notes held for longer than others (e.g. within a melody), I often trim the note length of every note, and then drag individual notes out afterwards so that I know that they are exact with the beat division. Can listeners hear the difference? Probably not, but I have to do it. Paranoid I know.

Force Legato

If you simply need each note to sustain until each following note, you’re going to love this next trick. Simply highlight the notes you’d like to modify (or all of them with 'Cmd + A’), select ‘Edit’ in the top left of the Piano Roll local inspector, followed by ‘Trim’ and ‘Note End to Following Notes (Force Legato)’. Voila - all your notes will tie to the next. This is super useful for chords.

MIDI Transform Force Legato

Force Legato

Bonus Step: Humanise

For the most part, the above three steps are the only MIDI modifications I perform when writing. Sometimes I’ll need to achieve something a little more complicated, but these core functions should have you covered for most parts in most projects.

However, I want to throw in one more MIDI Transform trick as it’s just as easy to execute and it can be really fun when used creatively. The ‘Humanize’ function randomises notes in terms of their position (i.e. timing), velocity and length, meaning that you can essentially artificially impose human error onto your perfect MIDI parts (effectively undoing all of the ground work we’ve just covered! Fun hey?!).

MIDI Transform Humanize function

Humanize function

Furthermore, you can tweak the degree of randomisation that you want to apply i.e. subtle to crazy. This is very useful for inspiration and coming up with new ideas, and it can add a great natural feel to your parts, particularly for percussion and drums.

Go forth and automate

I’ve listed these functions as separate steps, but it may please the super geeks to know that you can in fact string these MIDI Transform processes together into one single, streamlined, automated command. This is referred to as a ‘Transform Set’, and can be saved and recalled for later use. Saves having to go through each of these steps in the future, with everything executed with a single click. Bosh.

Select any function you’d like to start with from the Functions list, and then select ‘Create Initialized User Set’ at the bottom of the list. This will enable you to create a preset function that you can design from scratch. You’ll notice that all of the parameters within the MIDI Transform window become available for customisation.

MIDI Transform New Parameter Set

New Parameter Set

I’ll be going into this in more detail in a future post but, by all means, have a play around and see what you can come up with in the meantime. It would be really interesting to see what you create!

If you weren’t already aware of some of these functions I hope this post has helped. If you have your own step-by-step process that you use in each and every session, post it in the comments below or get in touch - I’d love to hear about it!