You are here

Apple Logic: Building An Arpreggiator

Logic Notes & Techniques
Published May 2010
By Geoff Smith

As arpeggiators always seem to stay popular in music production, especially for certain dance styles, this month we're going to walk through the creation of an arpeggiator in Logic Pro, complete with a custom user interface that should make it more inspiring and immediate to use during the composition process.

Creating The Arpeggiator

  • First, create a new project using 'Add One Software Instrument Track'.
  • On the instrument track, call up the ES2 Virtual Analogue Synthesizer and choose the Classic House Organ preset from the Synth Keyboards bank.
  • Now call up the Environment by pressing Command‑8.
  • In the Inspector of the Environment, go to the Environment's Layer menu and choose Clicks and Ports.

The Clicks and Ports layer provides a view of the signal flow of MIDI data into Logic's Sequencer Input and is user-configurable. On the left‑hand side you will see the Physical Input object, representing the MIDI In ports of your interfaces. To the right of Clicks and Ports is Logic's Sequencer Input object. Between the two are the Keyboard and Monitor objects. Remove the cable from the Monitor object to the Sequencer Input and we'll create some new objects to add to our signal flow.

  • Go to the New menu in the Environment window and choose 'Arpeggiator', then access the New menu again and choose 'Monitor'.
  • Cable the outlet of the first Monitor object into the Arpeggiator object, then cable the outlet of that into the second Monitor object.
  • Finally, cable the outlet of the second Monitor object into the inlet of the Sequencer Input object. Cabling objects together as shown should give you your basic Arpeggiator. You should now be able to hear Logic arpeggiating the notes of a chord you hold down.Cabling objects together as shown should give you your basic Arpeggiator. You should now be able to hear Logic arpeggiating the notes of a chord you hold down.
  • Hit play in Logic's transport and hold down a chord on the Caps Lock Keyboard or your MIDI controller.

You should hear Logic arpeggiating the notes of that chord and sending that pattern to the record‑enabled ES2 track. Notice how the second Monitor object shows the arpeggiated pattern, whereas the first shows the notes of the chord you're holding down. Click on the Arpeggiator object and look across to the Environment's Inspector.

The Arpeggiator object has 10 parameters and a Controller Base to allow you to use continuous controller messages to change these parameters. These include Direction, Resolution and Length. Experiment with different settings.

Getting the Arpeggiator object working in Logic is quite straightforward, but the interface, as it stands, doesn't encourage experimentation. So let's make a custom user interface to make controlling the Arpeggiator object much more intuitive. First of all, we'll create a switch to route the incoming MIDI data either through the Arpeggiator or around it. We'll then create a series of button objects to control the different parameters of the Arpeggiator and, lastly, we'll arrange our dedicated interface in the Logic Environment.

  • Go back to the Click and Ports section of the Environment and go to New / Fader / Text.
  • A new Text Fader object is created. Highlight the object and then go to the Inspector and copy the Output and Range settings that are shown in the screenshot below. When creating a new Text Fader, set the Output to Control, and the Range to 0 1.When creating a new Text Fader, set the Output to Control, and the Range to 0 1.
  • Double‑click on the Text Fader to bring up a window with 128 different slots. In the first slot, type 'ARP OFF' and in the second, type 'ARP ON'. Close the dialogue box.
  • Slowly click a few times on the Text Fader. It should alternate between the ARP OFF and ARP ON messages. We will use this to control a switch that bypasses the Arpeggiator.
  • Go New / Fader / Specials / Cable Switcher. A new Cable Switcher object will be created that will allow us to take our MIDI input and route it past or through the Arpeggiator object. Click on the Cable Switcher object and enter the settings that are shown in the screenshot above. Use the settings shown here when creating a new Cable Switcher.Use the settings shown here when creating a new Cable Switcher.

Cabling Up

This signal flow should enable you to bypass the Arpeggiator with a switch. If notes gets stuck, simply stop playback and restart.This signal flow should enable you to bypass the Arpeggiator with a switch. If notes gets stuck, simply stop playback and restart.Delete the cable from the Monitor object, labelled 'Input View', that runs to the Arpeggiator. Cable the outlet from that to the Cable Switcher. Cable the first outlet of the Cable Switcher object to the second Monitor object and cable the second outlet of the Cable Switcher to the Arpeggiator object. Lastly, cable the outlet of the Text Fader to the Cable Switcher and test your new signal flow.

Clicking the Text Fader should switch the Cable Switcher up and down. You should now play some notes on your keyboard, to verify that you can bypass the Arpeggiator with the switch.

We're now going to create some extra controls to change the parameters of the Arpeggiator object. The first thing to do is click on the Arpeggiator object and look across to the Inspector Controller Base. The Controller Base allows us to specify the continuous controller (CC) number of the first parameter direction, and the subsequent controller numbers change the other nine parameters. We need to set the Controller Base to 20.

For our user interface, we'll make buttons to control the Resolution, Length and Octave parameters and a slider for the Crescendo parameter. Let's tackle the Resolution parameter first.

  • Go New / Fader / Button 3 and resize the button object so that it's large enough to click on easily.
  • With the button highlighted, go to the Inspector and set the Output to Control, the Channel to 1 and the CC number (‑1‑) to 24. Set Range to 2 2.
  • Cable the outlet of the button to the inlet of the Arpeggiator object.
  • Click on the Arpeggiator object to select it and watch the resolution parameter in the Inspector. Click the centre of the button object and you will see the Resolution parameter change to 1 1.
  • Copy that button 19 times and change the Range of each button so that the first has a Range of 0 0, the second's Range is 1 1, and so on through to button 20, which should have a Range of 20 20.

Now we'll create a similar set of buttons to control the length of the arpeggiated notes.

  • Highlight all the buttons you've just created, by drawing a box around them, and Option‑click‑drag them to copy them to an empty space in the Environment.
  • Change their Outputs to CC 25.
  • Create and cable a few more buttons that output continuous controller 28, to control the Octave parameter of the Arpeggiator.
  • To create a slider to adjust the Crescendo parameter, go New / Fader / Vertical 1, then select the newly created fader object and set it to output continuous controller 29.
  • Now cable this slider to the inlet of the Arpeggiator object.

You can resize, rearrange and change the colours of your control objects as you wish.Option‑C will bring up the colour palette.You can resize and rearrange your control objects as you wish, so that they sit neatly in your Logic Environment. Any changes to colour and layout should be done at this stage.You can resize and rearrange your control objects as you wish, so that they sit neatly in your Logic Environment. Any changes to colour and layout should be done at this stage.

  • To finish, copy the control objects to a new window and place them next to the Arrange page.
  • Call up a second Environment window and, in the Inspector, click on the arrow button next to the Layer menu. Choose 'Create Layer'.
  • Having arranged these two side‑by‑side, highlight the buttons and sliders in the Clicks and Ports Environment while holding down Option, and drag and drop them into the other Environment window. Carry out any final size and layout changes now.
  • From the Environment's View menu, un‑tick 'Show Cabling' and choose 'Protect Cabling and Positions'.
  • Press Option-Command-I to hide the Inspector and, in the top left‑hand corner of the Environment, click the Link button until it is grey; the window will now remain as you set it.
  • Go to the Environment's View menu and choose 'Frameless Floating Window'. Resize the window so that it fits nicely next to your Arrange page and, from the Screenset menu, choose 'Lock'.

Congratulations! You have now created a useful, ergonomic interface for your custom Arpeggiator, which you can refine until it contains your favourite controls.    

Published May 2010