Ableton Live¶
We will use MIDI sequencing software for creating event timelines to control machines. Ableton Live is a commercial digital audio workstation system oriented around live performance of music which includes substantial support for MIDI event capture, editing, and sequencing. We have it available on IDeATe computers at Lendign.
Setup on IDeATe MacBook Pro¶
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.
Preparation¶
Login normally using your Andrew ID.
Make sure the MIDI IAC driver is enabled as follows:
Launch Audio MIDI Setup.app (found in /Applications/Utilities)
Make sure the MIDI Studio window is open (shortcut: Cmd-2).
Double-click the IAC Driver item.
Make sure Device is online is selected.
Note the port name, or add a port of your chosen name.
Follow the Python setup notes in IDeATe Virtual Cluster.
Download the current course Python MIDI support (currently Theater Control System).
Launch the current course MIDI translator (currently
MIDI-bridge.py
) in a Terminal Window as follows:python3 MIDI-bridge.py --midi 'IAC Driver Bus 1' --console --debug
Either connect a physical MIDI controller (e.g. Akai MPD218 Drum Pad Controller) or download and run the MPD218 emulator as per Performance Utility Tools).
Configuring Live¶
Launch Ableton Live
Clear any demo configuration with
(shortcut: Cmd-N)Under :menuselection:Setings/MIDI (shortcut: Cmd-,)
Make sure Track and Remote are set to On for Out: IAC Driver (Bus 1). This will allow MIDI output to our Python system. * Make sure Track is to On for In: virtual MPD218 or In: MPD218 Port A (whichever source you are using).
In the Session view, delete all tracks except for a single MIDI track.
In the track I/O section, set MIDI From to your input source (Computer Keyboard, virtual MPD218, MPD218 Port A, etc).
In the track I/O section, set MIDI To to IAC Driver (Bus 1)
In the track Master section, set the Arm Session Recording button at the bottom (it will light up red)
If using your computer keyboard for MIDI input, enable the Computer MIDI Keyboard (shortcut: M).
Operating notes¶
At this point, generating some MIDI input should create some console output from the MIDI translator. The data flow is as follows:
Physical or virtual MPD218 pad controller generates a MIDI event,
which is received by Live,
which is sent by Live over the IAC bus,
which is received by MIDI-bridge.py processed into a motion command,
which is sent as an OSC UDP packet to the theater controller,
which sends hardware control messages to the lighting and motor interfaces.
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.