
Ableton Live to Clipper: Detailed Interface Specification
Ableton Live (currently at Rev.8.3) is a popular music software application that allows a user to record
and playback clips of music in a wide variety of ways, all synced to a master beat. It is also popular to use
a Remote Control surface, a small console with buttons and knobs, and often LEDs for stratus feedback,
using semi-proprietary command sets developed specifically for each peripheral.
The Ztar is a MIDI guitar controller with a keyboard-like fingerboard having a touch-sensitive key for
each note position. The keys can easily be mapped to control a Live ‘Session’, or instance of Ableton Live
running in a host PC or Mac. With some modifications the Ztar can be made to reflect the status of the
session’s display screen as well. The Ztar or any MIDI controller directs Ableton Live by sending MIDI
commands which are interpreted and re-mapped by Live to perform various internal functions of the
software.
These MDI commands are standard and need no special coding from the device side other than a simple
user-setup to make the specific assignments. When there are a lot of controls to be mapped, it is more
convenient to create a profile, or Control Surface script using Python that is loaded into the program
when the device is plugged in. Also, when it becomes necessary for the remote device to show the
Host’s programs status, host-to-device output software must be created, also using Python scripts which
are loaded into the same master profile for that device.
Requirement for Host-to-Device MIDI communication:
An Ableton Live “Session” displays on the computer screen an array of colored boxes that form the Clip
Grid and change dynamically as the music performance proceeds. In order to have a remote control
surface display this same dynamic status information from the current Session in the host computer,
Ableton communicates the various color changes to the remote peripheral control surface via a
USB/MIDI connection. As the activity of the Live session changes, with different audio and MIDI clips
turning on and off, playing, recording, and cueing for the next operation, the computer display is
continually changing to reflect the current status, and the remote surface will update to correspond
with the computer screen including color-matching the status LEDs for the Live clip performance matrix,
or Clip Grid”.
Ableton Live provides an API for creating modifications to the operation of Live. When a new hardware
Control Surface is defined for Live, a set of assignments maps the MIDI messages from the Control
Surface to the internal functions of the Live software. This mapping is created by use of a Python script
that loads manually or when Live recognizes the connected (enumerated) USB- MIDI device. MIDI Notes
and MIDI CC messages are commonly used to control the Live software.