Humanizing MIDI Notes in Logic Pro 9

In Logic Pro there doesn't seem to be an easy way to randomize or humanize a MIDI performance. Jay Asher uncovers the Transform window where you'll find many excellent ways to manipulate MIDI.  

A terrific feature of Logic Pro is its MIDI transformers. For down and dirty tasks under tough deadlines, I find the Humanize transformer to be especially useful. Let’s explore several tasks where this device comes in handy.

Green Apple Loops (MIDI) are a good place to start. In Pic 1, notice that I have brought one into the Arrange area called 2-Step Poolside Guitar. It sounds really good but very stiff and mechanical. A quick look at either the Piano Roll or Event List editors makes it really obvious as to why it is so: it is clearly “hard quantized” (snapped to a rigid grid.)

Green Apple Loop

I could, of course, start to choose and relocate the notes slightly to make them more “human” but that would be a time consuming task. This is where the Humanize Transform preset really shines.

It is available in any of the MIDI editors under the Functions menu. I will open it in the Event List. I navigate to Functions > Transform > Humanize. The Humanize Transform Set opens and defaults to what you see in Pic 3: 

Functions > Transform > Humanize

Pretty scary, huh? Let’s talk about what we are seeing here: In the image below, you can see that it is indeed the Humanize preset and that we are going to apply what it does to selected events. Notice that the Position selected for this preset defaults to +/- random 10 ticks. As Logic Pro has 240 ticks per 16th note in its default resolution, this is not a lot but certainly is going to take the notes a little off the grid, which will definitely make it feel more human. I can change this number but not in the way that would seem intuitive, which is to click the arrow to the right of it. 

The Humanize preset

As you see below, doing so now randomizes by a whole measure, which is not what we want at all. Instead, we need to double-click on”10” and make sure that we only have that number selected.  

randomize a whole measure

Notice that there are also other choices than the +/- randomizing, but the default works best in my experience. 

Other choices

However, I have changed the number of ticks to 16 for a greater degree of humanizing.

Ticks to 16

Under Status, the preset has assumed that we only want to apply this to notes and not MIDI controllers like cc1 or cc11, pitch bend, mod. wheel movements, etc. This can be changed but most of the time you are not going to want it to do so. Indeed in the Event List, I have hidden the display of all MIDI events except notes.

Only MIDI note data is visible

Moving on, here are a number of things I want to point out to you: There are no choices available for choosing by MIDI channel or Pitch because “Hide Unused Parameters” is checked in the lower left hand corner by default, as it is highly unlikely you would want to limit the humanizing by these choices. Velocity defaults to the same randomization as Position. You want to be somewhat careful with this choice as certain libraries have patches that not only change timbre respective to velocity but crossfade into different samples. I am leaving it at the default in this example. 

Leave as default

I rarely find that randomizing the length has any meaningful effect on the sound, so I am changing it to from the default randomization setting to Thru. 

Set to Thru

Note that that column no longer displays choices, just like Channel and Pitch.

Column display changes

OK, our parameters are all set, so now it is only a matter of choosing which note events we want to be affected by the humanize Transform preset. It would seem obvious to simply choose Select and Operate, but that will affect all the notes and I need to select all but the notes that fall on the downbeat of measure 1. 

Why? Remember, we will be randomizing the position by plus AND minus, so if I do not do this there is a distinct likelihood that those notes may be moved before the beginning of the song and therefore will not be played! So in the Event list I press Command-A to select all the notes but then, while holding the Shift key, I deselect the two notes that fall on the downbeat of measure 1.  

Deselect notes on downbeat of measure one

Now all I need to do is click Operate Only. You can see the result is clearly less on the grid and more human. If desired, I can do this additional times and they will be randomized further.


Ultrabeat lovers, this is also exactly the same procedure you can use to Humanize UB sequences, which also snap 100% to a grid.

Let’s talk about another great use for Humanize. Below you can see a Violin 1 part I have played in and because I want the same part to be played by Violin 2 and Viola and I am under a tight deadline, I Option-dragged them to be copied. 

The Violin part

However, if they are playing exactly the same MIDI data, they are going to probably end up sounding like an accordion rather than strings, particularly if all three of the string patches are from the same library. The answer? Of course, Humanize the Violin 2 and Viola with differing plus/minus settings and in a jiffy, you have created all three parts and they sound much more musical!

Jay is a Los Angeles-based composer, songwriter, arranger and orchestrator, conductor, keyboardist, as well as vocalist. As a composer, he is best known for scoring the New World Television series Zorro. Among the films and TV movies he has arranged, orchestrated and/or conducted are Paramount Pictures' Blame It On Rio Read More


Gary Hiebner
Excellent tutorial!

Want to join the discussion?

Create an account or login to get started!