It was a long time coming, but it finally happened. When Logic Pro X hit the market, it included a feature on many people's wish-list: an MIDI plugin arpeggiator. Prior to Logic X, creating arpeggiated patterns meant delving into the Environment (where many a mortal fear to tread), creating an arpeggiator "object", and literally wiring it into Logic's MIDI pathway so that arpeggiated notes could be recorded. As if that wasn’t tedious enough, setting the arpeggiator's controls from the environment window was finicky and limited in scope.
Logic’s Environment-based arpeggiator and parameter controls.
Logic's MIDI FX arpeggiator plugin made those drudgeries a thing of the past, sporting a proper GUI with a wealth of controls, and new features which left the old arpeggiator's capabilities in the dust.
There was and remains just one problem, however: unlike the environment-based arpeggiator, there's no way to easily record the actual notes that the arpeggiator generates, thus making it impossible to edit note pitches, velocities, or rhythms of arpeggiated patterns.
In green, a block chord being arpeggiated. In red, recording of the actual notes generated by the arpeggiator – the desired result.
I've come up with an easy, 4-step solution for this situation where the actual notes of an arpeggiated part can be recorded. This workaround involves the use of the Mac's built-in "MIDI pipeline" called the IAC Bus. Here's a breakdown of the process:
• Send the arpeggiated part out of Logic via the IAC bus and loop it back into Logic, recording the arpeggiator’s notes on a new track
• Move this recording to the track that was originally playing the part, but with the arpeggiator turned off because it’s no longer needed!
Create two new instrument tracks. This creates two new instrument channels. We're going to add some items to the first channel, but leave the second one entirely blank.
In the mixer, Option-drag the arpeggiator from your original part's instrument channel to the first of the newly created channels. This creates an exact copy of the Arpeggiator on the channel.
Then, install the External I/O plugin as the instrument for this channel.
A copy of the arpeggiator and an External I/O plugin installed in the first of two newly created instrument channels.
From the External I/O plugin’s MIDI Destination menu, select IAC Bus 1.
However, if you don't see the IAC Bus listed there, activate it by:
• opening AudioMIDI Setup
• locating the IAC Bus icon
• enabling it
Once you've done that, go back to the External I/O plugin and select the now visible IAC Bus item from the menu.
Move (don't copy) your original MIDI part to the new track containing the copy of the arpeggiator and the External I/O plug.
Now select the second of the new tracks you created, put it into record-ready, and record the entire arpeggiating part down from the top.
When you're done recording, do just three things:
a) move (don't copy) the newly recorded MIDI part to the original instrument's track
b) bypass the arpeggiator on the original instrument track (it’s no longer needed)
c) mute or turn off the track with the External I/O plugin
Now hit play and you'll hear the same arpeggiated pattern playing from your original instrument's track!
Final Notes: If you open the event list on the newly recorded part, you’ll likely discover that the note positions won’t appear to be quantized. They may be behind the beat, ahead of the beat, or a mixture of both. The reason: timing of MIDI data along the IAC bus is, and always has been, a bit imprecise. But since arpeggiated parts are inherently quantized, the solution to restore the timing is simple: just quantize the part using the Region Parameters. Voila!