Understanding MIDI CC
- Live Versions: 9, 10
- Operating System: All
What is MIDI CC?
MIDI CC stands for Control Change (or sometimes Continuous Control). MIDI CC belongs to the message category called Channel Voice Messages (along with Note On/Off messages, Velocity, Aftertouch, Pitchbend and Program change).
What is MIDI CC used for?
MIDI CC can be used to extend the range of functionality of a MIDI message.
For example, MIDI and keyboard controllers assign unique MIDI CC numbers to each knob or encoder (and sometimes buttons too). This allows you to map them to parameters in Live when using MIDI remote control.
MIDI CC can often be used to control functions on certain hardware (and certain plug-ins). For example a hardware synthesizer filter cutoff could be controlled from Live using MIDI CC, without having to physically turn the knob.
Does each MIDI CC number have a standard assignment?
There are 127 MIDI CC numbers and each number transmits values in a range from 0-127. The official MIDI association list details the standard assignment of each MIDI CC number. However the actual implementation of CC may vary between manufacturers. They will usually provide a MIDI CC implementation chart for the exact functions.
Do Live Instruments and Devices respond to MIDI CC?
Individual controls in Live Instruments (like for example Filter Cutoff and Resonance) don't respond to MIDI CC sent using Track messages. However all Live instruments and devices can be MIDI mapped to a specific MIDI CC if using MIDI remote control.
What MIDI channels does Live support?
Live can receive MIDI from external sources (eg. MIDI controllers) on all 16 channels. All internal MIDI routing within Live is on MIDI channel 1 only.
How do I map my MIDI controller to a parameter in Live?
See our dedicated article: Making custom MIDI Mappings.
How do I control a synth or device using MIDI CC?
There are two methods:
- Using Clip Envelopes: Select MIDI Ctrl in the chooser in the envelope section of a MIDI clip. Then select the required MIDI CC number, and enter a breakpoint with the required value (or range of values). If a parameter requires an on/off message (eg. CC 64 - Hold/Sustain) then a single breakpoint anywhere between 0-63 is "Off" and 64-127 is "On". Other CC parameters respond to each value in the full 0-127 range, eg. a filter cutoff will gradually adjust from 0 (fully closed) all the way to 127 (fully open). This data is transmitted when the clip is played:
- Using Max for Live: Various Max for Live devices already exist which can transmit MIDI CC data. Try this or this. Some dedicated Max for Live control devices are available for hardware synths and drum machines. Note: Requires Live Suite, or Max for Live as an add-on to Live Standard.
How do I record MIDI CC in Live?
Set a MIDI track to receive MIDI from the required source (in MIDI from in the track's IO section). Then record a MIDI clip. Any MIDI CC received will be recorded into the MIDI Ctrl clip envelope section.
Why can't I edit the values of MIDI CC numbers 120-127 in clip envelopes?
These CC numbers are reserved for specific functions within Live and are not available in the MIDI Ctrl chooser. Some of them can be used via Max for Live.
How do I control functions in my plug-ins via MIDI CC?
If all you want to do is assign a MIDI controller to a plug-in parameter, or automate a plug-in parameter then this is much easier to achieve though using the plug-in's Config screen and Live's MIDI mapping. See "Using plug-ins", and "custom MIDI mapping".
However some plug-ins also support MIDI CC. This means that you can directly control a parameter using a specified MIDI CC number. If you rather use this method, take these steps:
- Add the plug-in to a track.
- Open the plug-in GUI and check to see if there's a MIDI learn function or if it's possible to directly assign a CC number to it. This varies from plug-in to plug-in but sometimes you can right click on a parameter and assign a CC to it:
- Then use Clip envelopes to add MIDI Ctrl modulation for that CC number (or use a Max for Live device which supports CV output).
Is it possible to use MIDI CC in a clip or device to control another parameter within Live?
Using a virtual MIDI bus, it's possible to map any MIDI mappable parameter in Live and control this using clip envelopes or Max for Live. It's slightly fiddly to setup but it's useful for situations like automated actions controlled by Clip envelopes. For a full walkthrough of one potential application of this, see: How to control the scene selector using a virtual MIDI bus.