Creating Complex Arpeggiated Patterns in Logic - Part 2

This tutorial continues from where the previous "Creating Arpeggiated Patterns in Logic - Part 1" left off. If you're relatively new to Logic's Environment and haven't already followed that tut, I'd r  

This tutorial continues from where the previous "Creating Arpeggiated Patterns in Logic - Part 1" left off. If you're relatively new to Logic's Environment and haven't already followed that tut, I'd recommend heading there first.

In this tutorial we're going to take a look at how to garner more control over the Arpeggiator object and set it up so that you can apply different arpeggios to your patterns on ANY of your chosen Software Instrument tracks in real-time. We'll also create a way to switch it on and off.

That's a lot to get through, so without further ado let's jump straight in!

01 - Choose a Sound you Like

I've started a new blank project and created one new Software Instrument track. I have chosen the following channel strip setting:

10 World > 04 European > Celtic Harp

You can of course choose any channel strip setting you'd like. Monophonic bass synths can work really well if you're looking to create an Electronic masterpiece.

02 - On the Right Route

We're going to route this Arpeggiator differently to our method in the first part of this tut. Before we do let's take a quick look at the Environment window, and specifically, the Clicks & Ports Layer.

Open the Environment window and choose the Clicks & Ports Layer from the top left "Layer menu's" selection arrow.

The Clicks & Ports Layer shows you two very important objects. The Physical Input is a representation of your Physical MIDI Device's inputs. The Sequencer Input is basically the MIDI input into Logic.

It's important to understand signal flow in Logic, and there's nowhere better to understand how it works than with these two objects. If there is no connection from the Physical Input object to the Sequencer Input then when you press a key on your MIDI Keyboard (or Caps Lock Keyboard), the MIDI data won't reach your tracks in Logic's Mixer.

03 - Create an Arpeggiator

Choose New > Arpeggiator and drag the top output cable from the Input View object on to the Arpeggiator object. We've broken the chain, so the MIDI data from the Physical Object will not reach the Sequencer Input object. But don't worry by dragging the output cable from the Arpeggiator to the Sequencer Input the connection is restored!

The beauty of placing the Arpeggiator in the MIDI signal chain between the Physical and Sequencer Input objects is that we can now apply arpeggiations to whichever track we have selected in the Arrange area without needing to create a new track specially for the arpeggiator object. (More on this in the next step).

04 - Go Forth and Arpeggiate!

To demonstrate how this type of arpeggiator differs from the one in Part 1 of this tutorial, I've created an extra Software Instrument track with a Sculpture Dirty Bells sound as the instrument. To create arpeggios it's simply a matter of hitting Play and holding down chords on your MIDI Keyboard.

Now, if you select a different Software Instrument track during playback/record, you'll automatically be creating arpeggiated patterns using that track's instrument.

The screen shot below shows the result of recording a simple pattern while switching tracks. You can see when I selected each track by the placement of the MIDi note events.

Here's what it sounded like:

05 - Time to switch

So, you've recorded your arpeggiated pattern. You're happy and possibly you'd like to record some other parts for your composition now. However, we have a problem. Any MIDI notes you play/record in real-time onto any track will be processed by the Arpeggiator object in the Environment!

We need to find a way to switch it off without disconnecting it completely. Let's head back to our Environment window to make this happen. From the Environment local menu choose: New > Fader > Specials > Cable Switcher

This most useful of objects will allow us to switch the Arp on or off. More precisely it'll enable you to route the MIDI Signal through one of it's outputs. It's a bit like a railroad switch - where the train will then follow the train track you've switched it to.

06 - Connecting up the Cable Switcher

Presently the Cable Switcher is sitting there doing nothing. We need the MIDI signal to reach the Cable Switcher before it reaches the Arpeggiator object, so route the cables as follows:

  • Cable from the Input View to the Cable Switcher.
  • Next, route the first output cable from the Cable Switcher direct to the Sequencer Object.
  • Drag the Second output cable from the Cable Switcher to the Arpeggiator. (Make sure the Arpeggiator's output is still going direct to the Sequencer Input too).
  • Finally, change the range of the Cable Switcher (in the Inspector) to read 0 1. The first cable output = 0 (direct to Logic / bypassing the Arpeggiator object). The second cable output = 1 (the MIDI notes pass through the Arpeggiator object and then into Logic).

It should look something like this:

Click on the Cable Switcher to route the MIDI signal through the different outputs.

You've now created an On/Off switch so you can choose whether to play/record your performances normally or as arpeggiated patterns.

07 - Perform Real-time & Bounce Offline

Let's take a quick look at one of the Arpeggiated patterns in one of Logic's MIDI Editors. Double-click on the MIDI region to view it's contents in the Piano Roll.

If you followed Part 1 of this tutorial you'll no doubt notice the difference immediately. By placing the Arpeggiator object between the Physical Input and Sequencer Input in Logic's Environment, the actual notes outputted from the Arpeggiator object are recorded -- and not the original chords you have played.

The added benefit is if you wish to render that track (or your project) to audio, you can bounce it offline. Yup. No need to use the real-time option in the Bounce dialog as Logic has already written the arpeggiated pattern as MIDI note events to your track!

08 - More Arpeggiator Objects = More Options

Now that we've got the measure of using one arpeggiator, let's get creative and explore the routing possibilities available in Logic more deeply.

Create some more Arpeggiator objects and add them to the signal chain as shown below. Notice how I've changed each Arpeggiator object's parameter values and named them appropriately.

Also notice that I've increased the Range for the Cable Switcher to account for the extra output cables.

You don't need to stop there. You might wish the MIDI notes to be processed by two arpeggiators cabled one after another (for some interesting/strange effects), or you may wish to control the Cable Switcher using a key on your MIDI Controller. All of this and much, much more is possible in the Environment.

09 - Interactive Design Tips

There are a couple of touches we can add to make this Environment more intuitive and easier to use.

First, let's make sure we can access this Cable Switcher button without needing to delve into the Environment. Simply right-click on the background of the Environment page and choose "Frameless Floating Window". Resize the window so you can only see the Cable Switcher and position it anywhere you'd like it to be on your screen.

I'd also suggest right-clicking in the Environment's empty background and choosing "Protect Positions and Hide Cables". It means you can't accidentally remove a cable and break the signal flow chain.

Remember your Environment is saved within this project. I would recommend creating your ideal Arpeggiator Environment and choosing: File > Save as Template...

Your Arpeggiator template will be available to you whenever you choose to create a new project!

Here's an audio sample demonstrating some complex arpeggiated patterns you can easily achieve by switching between different Arpeggiator objects (with different Direction modes and Octave settings) - all in real-time!

10 - Appendix: The Arpeggiator's Direction Modes Explained

Here's a brief run-through of the different Direction modes available in Logic's Arpeggiator object. These determine the order the individual notes of the chord are played back.

  • Up: Plays from the lowest note to the highest note.
  • Down: The opposite of Up.
  • Up/Down: Plays from the lowest note to the highest note and then highest to lowest note.
  • Auto: Plays Up if the lowest note of chord is played first. Plays Down if highest note of chord is played first.
  • Up/Down2: Same as Up/Down except the highest and lowest notes are not repeated.
  • Random: As the name suggests, notes of the chord are played in random order.
  • All: Plays all notes of the chord simultaneously!

Check out these tutorials for even more Logic Environment tips and tricks that'll make your music productions stand out from the crowd!

Rounik is the Executive Editor for Ask.Audio & macProVideo. He's built a crack team of professional musicians and writers to create one of the most visited online resources for news, review, tutorials and interviews for modern musician and producer. As an Apple Certified Trainer for Logic Pro Rounik has taught teachers, professional... Read More


Peter Schwartz

Great articles on the arpeggiator!

I have just one thing to add, if you don't mind...

Click on the cable switcher and look in the Inspector. You'll see the Input is set to Control #7 (MIDI Volume). If you're like me and you have a CC#7 slider on your controller that you use to adjust (or record) volume moves, they can cause the cable switcher to switch.

One way to avoid this is to set the MIDI input of the cable switcher to react to something like Poly Pressure, or Fader, or Meta. Alternatively, you could change the "-1-" value to a CC number that you know you won't generate from your controller.


Rounik Sethi
Thanks Ski! That's a very good point to add to this article for anyone wanting to control the cable switcher using their MIDI Controller.


Great stuff.
One can learn a helluva lot from everyone at MacProVideo,and in so doing find are able to let one`s creative juices flow.
Thanks Greg!

Appreciate the kind words!

I should mention that SteveH goes quite a few steps further than this tutorial in his Logic TNT 2 & 3 series.

Let us know if there are any other topics you'd like to see covered on the MPV blog.
Thanks for the great info, Rounik. Is there a way to arpeggiate an already recorded loop?
Rounik Sethi
Hi Pat. Do you mean an audio loop or a MIDI region?

Thanks for clarifying: MIDI region. I'm hoping to take what I've already recorded and arpeggiate it, creating another MIDI region (obviously with the arpeggiated pattern in MIDI note events). Is that possible?
Rounik Sethi
Hi Pat, this is a good question. I'd use "Method 1" from Part 1 of this Arpeggiated patterns tutorial:

This will arpeggiate (in real-time) pre-recorded MIDI note events on the Arpeggiator Track in the Arrange area.

You can then bounce (again in real-time) this to audio...
This is an amazing tutorial! It really helped me out a lot!
But, of course, i do have a question.
is it possible to set different arpeggio resolutions to different keys....
ex: key C3 play resolution 1/8, key D3 plays resolution 1/16 etc....

Thanks Jonathan!

And that's a great question. It is possible... I can think of a couple of ways to do this using a transformer to route certain pitches to different arpeggiators...

Let me think about this a little while and I'll either write a new article for The Hub showing one method to do this or post a quick 'How-to' on the MPV Logic forum.

Hi Rounik,

I have the same question as Jonathan, would be great to find a new tutorial about this :-) and how to create really individual appregiators.

I wish I had this tutorial when I began as it would have saved a lot of headaches. Thanks for being there all the time , Rounik and passing on the knowledge. It is always much appreciated !
Thanks Logicluvva,

Glad this tutorial has helped.

... There's a free Logic Environment coming to The MPV Hub very soon too. Stay tuned... :)
Hi Rounik,
thanks for this informative tutorial. It helped me much more than the Logic Pro manual.
My question is: if I treat an already recorded midi part with an arpeggitor, can I record the result only by bouncing or is it possible to get a new recorded midipart of it. I hope my English is clear enough.
With kind regards
Hi Orest,

Thanks for your kind words!

If you have an already recorded MIDI part which you want to apply arpeggiating... here's what I'd do:

You'll need to use the technique shown in Part 1 of this article here:

- Route the output of the Arpeggiator object to the track you want to arpeggiate.

- Create a track for the arpeggiator in the Arrange area.

- move the MIDI region to that Arpeggiator track.

This will allow you to apply arpeggiator to the pre-recorded MIDI region... but not record it to MIDI.

The only way to effectively record the output as MIDI is to route the MIDI out of Logic and then back into Logic. I haven't tried this in a long while.

I'd suggest enabling IAC in the Audio MIDI Setup app (inside Applications/Utilities) then you can send the MIDI out of Logic to an app like MainStage - and then use it to bring it back into Logic...)

Sorry, I haven't got time to try this out now... let me know how you get on and when I have time I'll take a closer look. Perhaps I'm missing something :)

Ahhh! OK. Forget about using IAC driver to route MIDI back into Logic... of course, this can be done more easily :)

So, please follow the steps above in my previous comment... but ALSO, route the output of the software instrument channel strip (the track) in Logic's Environment directly to the Sequencer Input.

Now, in the Arrange area click on the littlr "R" button on the Instrument's track header (to record arm it).

Hit record and the arpeggiation will be applied to the MIDI region and recorded to the record armed track.

Make sure to remove the cable connecting the output from the software instrument channel strip to the sequencer output once you're done.

Hope this makes sense.

Thanks for answering so quick.
I hope I can report the results soon.
it worked.
I opened a new sequencer-input in the mixer environment window, was a bit puzzled, because the sequencer-input in the click&port window vanished.
Back in the mixer window I connected the software instrument that should be arpeggiated with the sequencer-input, enabled record - et voila.
the method with an external midi player and iac I will evtl. try later, I don´t want to bother too much with technical issues.
Thank you for the immediate help.
Thanks for this article. It covers a lot more than I already knew about setting up the arp in Logic. Still, this all seems unnecessary. Don't most DAWs and/or synths offer an Arp button with parameters? I just bought a $12 synth with a built in Arp. I usually just program my notes into the piano roll which takes less time than messing around in the environment and all these cables. Give me lots of flexibility to put in the occasional octave jump to create melodic interest. I hope Logic updates this issue and/or at least offer it on the ES synths and maybe Sculpture.

Thanks. You're correct most modern DAWs now include a much easier way to create arpeggiated patterns by way of a built-in mode within a plug-in or an easier object to insert or apply to a MIDI performance.

The Environment in Logic provides a huge amount of flexibility and possibilities. Which is why saving the arpeggiator as a template is important, and/or transferring it to a new project.

Who knows what'll happen in Logic X, or when... but if you have time I'd recommend checking out some more of what the Environment can offer. Here's an example of a complex object/device I've created which you can download:


Want to join the discussion?

Create an account or login to get started!