Using an iPod/iPad/iPhone to control Ableton Live via TouchOSC and PureData on OSX

To stall the inevitable “But why would you want to do that…? I do this..” because £189 for an iPod touch 4G and £2.99 for TouchOSC is £1554.01 cheaper than £1,736.00 for a JazzMutant Lemur, and you can’t put a Lemur in your pocket, but sometimes you can get what you need.

“But this looks complicated.. aren’t you the one having a go at Apple for not implementing stuff in Logic, and things not being intuitive?”

Yep.

As you will see, this is to implement a set of features that Ableton would otherwise not possess, using free open source software that hasn’t actually reached version 1.0 yet. A different ball game entirely from a commercial company failing to uphold it’s own standards and glibly stating that everything is simple when it isn’t.

One day, Ableton may well implement OSC, until then, here’s a cheap alternative:

UPDATE!!

You could also try this:

LiveControl

===========

Complete control of Ableton Live using your iPad or iPod Touch

http://livecontrol.q3f.org

by ST8 <st8@q3f.org>

Installation

————

Upload the TouchOSC template to your iPad/iPod using the TouchOSC editor avaiable from

http://hexler.net/software/touchosc

Open the correct template for your device in the editor, then click Sync. Open up TouchOSC

on your device and click Layout, then Add, then select your computer. The template should

the list of MIDI Remote Surfaces. If everything has worked the red selection ring should

appear and your iPad/iPod should sync with the Live set

LiveControl===========
Complete control of Ableton Live using your iPad or iPod Touchhttp://livecontrol.q3f.orgby ST8 <st8@q3f.org>
Installation————
Upload the TouchOSC template to your iPad/iPod using the TouchOSC editor avaiable fromhttp://hexler.net/software/touchosc
Open the correct template for your device in the editor, then click Sync. Open up TouchOSCon your device and click Layout, then Add, then select your computer. The template shouldsync to your device.
Install the MIDI Remote Script by double clicking “LiveControl Installer.jar” and select your Liveapplication directory when prompted. Then copy the LiveControl app to your Applications folder.
Start LiveControl and select a midi output port for the drum pads / keys. In TouchOSC got Network,select LiveControl from the list of Found Hosts, this will configure the host and outgoing ports.Set the incoming port to 5001 if it isnt by default. Click back, then done, and the template shouldload. Your iPad/iPod should appear in LiveControl.
Now start Ableton Live. Goto Preferences, then MIDI Preferences, select LiveControl_TO fromthe list of MIDI Remote Surfaces. If everything has worked the red selection ring shouldappear and your iPad/iPod should sync with the Live set

Or you could do this:

Install TouchOSC on your iDevice. Version 1.6.2 is at the app store at the time of writing.

So if you want to control Logic Audio, make sure you are updated to 9.1.2, and it should just work, I haven’t tested that yet.

Step 1

We already have inter app communication built in to OSX (lucky us!) So you will need to have the IAC driver activated. Open Audio/Midi Setup (located in apps/utilities) double click the square that says “IAC Driver” and make sure the tickbox “Device is online” is selected, you can call the ports anything you want. When you close the window, the square should glow red.

We want to control Ableton Live withTouchOSC, Ableton understands Midi, TouchOSC sends Open Sound Control messages over your wifi network. PureData is an extremely cool “anything” interface for multiple platforms, it takes data in from anything and does anything you want to it. Zeroes and ones will take us there. We will use PureData to convert OSC to MIDI data that your software (or hardware) can work with. Go here http://puredata.info/downloads and download the version of Pure Data for OSX.

Once you have installedPure Data, run ’simple-midi.pd’. It should look like this:

Which looks like the layout of the TouchOSC interface on your device. Because it is.

Make sure you have selected the IAC Driver as Output Device in PureData.

Step 3

Open TouchOSC on your device.

Under the ‘Network’ setting in TouchOSC you will need to enter your computer’s wireless address, which can be found under Apps/System Preferences/Network.

I connected via my router, so I entered the LAN address, if I wanted the wireless one for a stand alone implementation (think laptop at gig) then it’s the wireless address. Enter this number as your ‘Host’ in TouchOSC (192.168.1.77 in my case). For ‘Port (outgoing)’ enter 8000, and for ‘Port (incoming)’ enter 9000.

When your done tap the ‘<TouchOSC’ botton in the top left to return to the main screen.

Step 4

Now select the layout for TouchOSC that corresponds to the one you opened in Pure Data. In this case choose the ‘Simple‘ layout, because that corresponds to what we are using in Pure Data. Once again tap ‘<TouchOSC’ to go back and you can now tap ‘Done’ in the top right. You should see something like this:

So now we must set the MIDI I/O in Pure Data to use the IAC Driver ports you installed in Step 1. PD-Extended->Preferences->Output Device 1 if you click on the button, a dropdown list will appear, so select the IAC port you set up in Step 1.

Open up Ableton Live and go to ‘Live’ -> ‘Preferences’ and click ‘MIDI Sync’. From here turn on ‘Remote’ for the IAC Driver input and output ports, then close preferences.

Move some sliders on TouchOSC and you should see the MIDI activity indicator in Live flashing.

Step 5

Now you can tell Ableton to respond to events in TouchOSC by clicking on the Midi Learn button. Everything will go purple. This is normal.

Click on something in live, and move an object in TouchOSC. Stuff changes. Success… hopefully.

Turn off the Midi Learn by clicking on the same button, and things cease to be purple, you have assigned a control. We’re done here.

Epilogue

There is a really nice intuitive piece of software at touchosc-editor-1.4.1-osx.zip from Hexler for OSX and other platforms are available. Using this you can design your own interfaces, and that’s pretty cool.