Ableton Live Setup Guide

Exercise 3 Setup on IDeATe MBP Cluster

The following notes may help with installing and running the Python sample code in conjunction with Ableton Live for use as a performance sequencer. It assumes you are using one of IDeATe cluster Macbook Pros which holds an Ableton Live license (currently machines 1 through 5).

Launch process

  1. Login normally using your Andrew ID.

  2. Make sure the MIDI IAC driver is enabled as follows:

    1. Launch Audio MIDI (found in /Applications/Utilities)

    2. Make sure the MIDI Studio window is open (shortcut: Cmd-2).

    3. Double-click the IAC Driver item.

    4. Make sure Device is online is selected.

    5. Note the port name, or add a port of your chosen name.

  3. Download the Python sample code for exercise 3:

  4. Find and double-click the zip file to unpack it into a new folder.

  5. The .command files inside can be run by double-clicking; they are short scripts whichlaunch the corresponding .py Python script using the correct Python interpreter.

    1. N.B. The first time you try each of the following you may get an ‘unidentified developer’ warning. If you right-click the file and select Open you will have an opportunity to confirm an exception.

    2. Launch virtual_mpd218.command

    3. Launch winch_simulator.commmand

    4. Launch exercise3.command

  6. In the Exercise 3 window, for the MIDI input source select the IAC Driver port previously enabled.

  7. Launch Ableton Live (currently Ableton Live 9 Suite

  8. Configure Live:

    1. Clear any demo configuration with File/New Live Set (shortcut: Cmd-N)

    2. Under :menuselection:Preferences/MIDI (shortcut: Cmd-,), make sure Track and Remote are set to On for both Output: IAC Driver and Input: virtual MPD218.

    3. In the Session view, delete all tracks except for a single MIDI track.

    4. In the track I/O section, set MIDI From to virtual MPD218

    5. In the track I/O section, set MIDI To to IAC Driver

    6. In the track Master section, set the Arm Session Recording button at the bottom (it will light up red)

  9. Arrange all the windows to simultanously view Ableton Live, Winch Simulator, Exercise 3, and Virtual MPD218 MIDI Controller.

Operating notes

At this point, clicking on a virtual pad should cause the simulated winches to move. The data flow is as follows:

  1. Virtual MPD218 pad controller generates a MIDI event,

  2. which is received by Live,

  3. which is sent by Live over the IAC bus,

  4. which is received by Exercise 3 and processed into a motion command,

  5. which is sent as an OSC UDP packet to the winch simulator,

  6. which updates the parameters of the motion generator driving the animation.

Individual motion command clips can be recorded in an armed track by clicking on the round button in an empty clip slot. These can then be played back, looped, edited as MIDI sequences, quantized, etc.


  1. An actual MPD218 can be connected; it differs from the virtual pad by generating note events with varying velocity and aftertouch pressure messages.

  2. A physical winch set can be connected to a local serial port.

  3. The Live MIDI output stream can be connected to a remote computer over the network using the utility. This can receive MIDI messages from the IAC bus and forward them to a remote instance of using OSC UDP networking.


  1. This is admittedly a complex setup because the tools are so small and modular. We expect that for the main course project we will be able to integrate the essential features into a more customized Python application to simplify performance setup.

  2. All software has also been tested under Windows 10 with Anaconda Python 3, using loopMIDI instead of the Apple IAC bus. For hints on getting this to work, please see System Requirements.