Working with MIDI controllers in Ableton Live.
In this column we’ll follow up on last month’s discussion of MIDI Note messages with a look at Live’s handling of MIDI Control Change (CC) messages. There are many similarities, not the least of which is that they are recorded or drawn in and played back exclusively from Live clips. The primary difference is that CC messages are more like automation (think Mod Wheel or Expression Pedal) than discrete events like notes, although they are, in fact, streams of discrete MIDI messages. In Live clips, MIDI CC messages are displayed as automation curves in the Clip view’s Envelope box. But it is important to keep in mind that they cannot be created on or transferred to Live tracks as is possible with other Live automation. So, do we really need this extra aggravation? Yes, because most devices (instruments, effects boxes, controllers, iPad music apps and so on) outside of your computer, as well as other stand-alone computer applications, communicate using MIDI messages.
Like MIDI Note messages, MIDI CC messages have two parameters as well as a MIDI channel assignment. The first of the two parameters tells which of the 128 MIDI CC controllers (numbered zero to 127) is being addressed and the second parameter is that controller’s value, which also ranges from zero to 127. As with note messages, Live ignores the channel, resetting it to channel 1 by default, but also as with notes, you can select incoming CC messages by channel and assign a channel to outgoing messages. Furthermore, Live’s MIDI Remote mappings for CC messages use the MIDI channel, which allows you to, for example, distinguish the controllers as well as the notes received from different MIDI keyboards. Pitch-bend and Channel Pressure (Aftertouch) messages, although not technically CC messages, are handled in Live in the same way. Pitch-bend’s two parameters are used to give it a larger range (-8192 to 8191). Aftertouch has only one parameter; so although you can generate a lot of it by leaning on your MIDI keyboard, it takes up only two thirds the bandwidth of CC messages.
Some MIDI CC messages have a ‘standard meaning.’ Although there are no absolute rules, you’re better off using those messages for their intended purpose (see screen 1). That still leaves lots of CC messages for you to use for other jobs. Keep in mind that buttons and switches have only two positions, just like notes. In fact, you can use individual notes as switches, but then you can’t use them as notes. On many synths, common controllers such as the Volume (CC 7), Pan (CC 10), and the piano sustain, sostenuto and soft pedals (CC 64, 66 and 67) are already configured for their intended use.
Using Hardware Controllers
Live handles a hardware MIDI control surface in one of two ways: as a supported device or as a generic MIDI input source. Both methods are managed in Live’s MIDI preferences, with control-surface management at the top and generic settings in the MIDI Ports section below. Live uses internal scripts to manage supported control surfaces such as the Ableton Push, the Akai APC series and the Novation Launchpad. (Supported control surfaces often have ‘user’ modes that allow their controls to also be used generically.) With generic devices, you manage where their output is routed as well as what, if any, MIDI data is sent to them. Here we’ll be concerned with generic devices.
If you enable Remote input in Live’s MIDI preferences for the port receiving your MIDI CC data, you can use the Options menu’s Edit MIDI Map (Command-M/Control-M) to assign that CC data to any Live control: mixer settings, Live-device knobs, buttons and number boxes and third-party plug-in controls that you have configured for mapping. Incoming MIDI CC data will then be recorded as standard Live automation (not as MIDI CC data) in Session view MIDI clips and in automation lanes on Arrangement view tracks. To record the actual MIDI CC data, do not Remote map the MIDI CC in Live. Instead, use the target’s MIDI mapping features to map the CC data. That is, of course, the only option with external hardware and stand-alone software applications running on the same or a different computer. For third-party Live plug-ins you can usually use either method. Here, for example, are the steps as shown in screen 2 for both ways to control the U-he Diva plug-in’s Feedback knob with the MIDI Mod Wheel (CC 1):
1. Configure Diva’s Feedback knob for Live access by unfolding the Plug-In device’s parameters section, clicking its Configure button and then clicking Diva’s Feedback knob.
2. In Live’s MIDI preferences, enable Remote input for your MIDI keyboard and then Remote Map its Mod Wheel (CC 1) to the configured Feedback control.
3. Record Mod Wheel movement in a Session view MIDI Clip. Notice that the MIDI data is recorded as Diva Feedback automation.
4. Copy that clip to the same track in the arrangement. Notice that the clip automation becomes track automation.
5. Instead of configuring Diva’s Feedback knob as in step 1, use Diva’s MIDI Learn to assign the Mod Wheel to it. (Be sure the Mod Wheel is not assigned to any MIDI Remote destination in Live.)
6. Record Mod Wheel movement in a Session view MIDI Clip. Notice that the MIDI data is recorded as MIDI CC 1 automation.
7. Copy that clip to the same track in the arrangement. MIDI CC 1 automation isn’t converted to track automation — it remains in the MIDI clip.
Other MIDI CC Sources
A variety of music hardware devices and software applications generate MIDI CC data. Notable examples include Five12 Numerology (www.five12.com), Propellerhead Reason (www.propellerheads.se) and Native Instruments Reaktor (www.native-instruments.com). Their note sequencers often incorporate control-voltage (CV) lanes, and many of their LFOs, envelope generators and more exotic modulation sources have CV outputs.
Most Reason devices that produce CVs provide outputs for some of them. Reason uses its External MIDI Instrument (EMI) to convert note, gate and CV signals from these devices into MIDI messages and then transmit them over an internal MIDI bus — IAC buses on a Mac and third-party buses such as MIDI Yoke on a PC. For details on implementation and latency compensation, see the November 2014 Live column.
Numerology and Reaktor come in both stand-alone and plug-in form. As a MIDI CC source, the plug-in is more convenient, but with MIDI data be sure to use the VST version because Audio Units do not support MIDI output. For details on using the Reaktor MIDI output, see the September 2014 Live column. Screen 3 shows how to capture CV data generated by one of Numerology’s step sequencers. The CV values are first converted to MIDI CC data by a separate Numerology module (not shown) and then sent together with the notes to the VST output. To record both, route the output of the Numerology VST track to the track holding the targeted Live device.
Do It Yourself
Recording MIDI CC data is a quick way to capture complicated shapes as well as to sync the CC data with notes. If you’re playing your MIDI keyboard while using MIDI controllers (Mod Wheel, Pitch-bend, Expression and so on), recording is the way to go. But don’t overlook drawing modulation patterns directly in Live clip envelopes; that is often easier and faster. Live’s envelope-shaping tools let you curve line segments (hover over a line segment and Option-drag/Alt-drag), move selected sections up, down, left or right, copy and paste selections and even resize or reverse a selection by dragging its Stretch markers (the same procedure as with groups of notes). Because MIDI CC envelopes are not tied to specific devices or controls, and therefore don’t disappear when you move the clip to a different track, you can easily build a collection of interesting shapes. To save your favourite clips either drag them to the browser to create Live clips (.ALC) or use Live’s MIDI Export command (Command-Shift-E/Control-Shift-E) to save them as standard MIDI files (.MID).