If you’ve been a producer for a while you’ll have noticed that you can use MIDI CC for automation purposes with your MIDI controller, or inside your digital audio workstation.
MIDI CC is really important for automating tracks and bringing variety, depth and character to your sound design, or to your music. Automation is great for tension, and interesting sound that develop over time. This keeps your music fresh to the ears!
In this guide, we’re going to share a quick MIDI CC list for you, and everything you need to know about using MIDI CC in your music productions.
MIDI CC values are between 0-127. That means there are 128 MIDI CC channels you can use for your music.
What Are MIDI CC Numbers?
MIDI CC is short for “musical instrument digital interface continuous controller”. It’s a MIDI message used for automation to make performances more human. It’s able to transmit values between 0-127. This provides 128 values for each MIDI channel, which all have different purposes.
CC can also stand for control change.
Here’s a quick bulleted list explaining what MIDI CC’s are:
- MIDI = musical instrument digital interface
- CC = continuous controller
- CC’s can be automated to add realism to performances, with values such as:
- Used to make performances sound human
The values between 0-127 each provide a different control. Some are pre-assigned already and can be used to control things like volume, sustain, pan, mod wheel & more.
Half of these MIDI CC values are assigned to on/off switches. 0-63 = off, 64-127 = on.
You can use these values to make your performances record expression in your music. They help to simulate the real expression found in actual instrument playing. So, for instance, you can automate the sustain, so it acts like a sustain pedal on the Piano.
Other uses of MIDI CC include altering the volume & expression, using the modulation wheel, or changing the cutoff of an instrument filter.
Most DAW’s will tell you what each MIDI CC value is for when taking a look at the MIDI CC automation panel.
TIP: Beware of overusing MIDI CCs, as you can cause something called MIDI log-jam (sounds tasty right?), where the amount of data sent is more than the bandwidth that MIDI can support. You can prevent these with MIDI CC thinning, which is available on most controllers.
MIDI CC List (Most Used Parameters)
Here’s a quick list of the most common MIDI CC parameters:
- 1 – Modulation wheel
- 2 – Breath control
- 7 – Volume
- 10 – Pan
- 11 – Expression
- 64 – Sustain pedal (on/off)
- 65 – Portamento CC control (on/off)
- 71 – Resonance (filter)
- 74 – Frequency cutoff (filter)
MIDI CC Chart (The Full List)
Below is a MIDI implementation chart including all the MIDI CC messages you have control over. These have the same values as the Pro Tools MIDI CC list and are the exact same across all DAW software.
Each MIDI CC value has a different purpose. There are channel mode messages, aftertouch messages, RPN and NRPN messages + more. We’ll cover what each of these messages mean below, in our “MIDI CC Jargon/Abbreviations (Explained)” section.
|MIDI CC Number||MIDI CC Purpose||MIDI CC Description|
|MIDI CC 0||Bank select (MSB)|
You use this to switch preset banks, so you can select presets. MIDI allows 16,384 patches per MIDI channel.
|MIDI CC 1||Modulation Wheel (MSB)||This controls modulation for live performances. It controls the parameter(s) it’s mapped to in your synth, instrument or effect. Commonly used for filter cutoff or vibrato.|
|MIDI CC 2||Breath Controller (MSB)||Originally for use with an electronic breath MIDI controller that could read changes in pressure of breath. Can be used for modulation in performances, and is often used with aftertouch.|
|MIDI CC 3||Undefined (MSB)|
|MIDI CC 4||Foot Pedal (MSB)||Used to send messages with an expression pedal. Mostly used for live performance modulation, and commonly used for aftertouch messages.|
|MIDI CC 5||Portamento Time (MSB)||Changes the rate of glide between 2 different notes. This causes a pitch bend between 2 notes when it’s on a value.|
|MIDI CC 6||Data Entry (MSB)||Controls SYSEX, NRPN and RPN values.|
|MIDI CC 7||Volume||Changes the volume of your VST instrument patch.|
|MIDI CC 8||Balance (MSB)||Controls LR (left, right) balance for instruments with a stereo signal. 0 = left, 64 = centre, 127 = right.|
|MIDI CC 9||Undefined|
|MIDI CC 10||Pan (MSB)||This controls panning for mono instruments. 0 = left, 64 = centre, 127 = right. Can be used for stereo instruments too. CC8 is often used for panning instead.|
|MIDI CC 11||Expression Pedal (MSB)||Pedal used for live performance modulation. Map to parameters inside your instrument to modulate while playing.|
|MIDI CC 12||Effect Controller 1 (MSB)||For controlling effects in an instrument.|
|MIDI CC 13||Effect Controller 2 (MSB)||For controlling effects in an instrument.|
|MIDI CC 14||Undefined (MSB)|
|MIDI CC 15||Undefined (MSB)|
|MIDI CC 16-19||Slider, Knob or Ribbon Controller for General Purpose||A general-purpose MIDI controller for performance modulation.|
|MIDI CC 21-31||Undefined|
|MIDI CC 32||Bank Select (LSB)||Used alongside CC0 bank selection. Changes to a fresh bank of patches if possible.|
|MIDI CC 33||Modulation Wheel (LSB)||Used alongside CC1 to send a modulation command for instruments with higher mod resolution.|
|MIDI CC 34||Breath Controller (LSB)||Used alongside CC2 to send a modulation command for instruments with higher mod resolution.|
|MIDI CC 35||Undefined|
|MIDI CC 36||Foot Pedal (LSB)||Used alongside CC4 to send a modulation command for instruments with higher mod resolution.|
|MIDI CC 37||Portamento Time (LSB)||Used alongside CC5 to send a modulation command for instruments with higher mod resolution.|
|MIDI CC 38||Data Entry (LSB)||Used alongside CC6 for SYSEX, NRPN, or RPN messages.|
|MIDI CC 39||Volume (LSB)||Used alongside CC7 for instruments with higher volume modulation resolution.|
|MIDI CC 40||Balance (LSB)||Used with CC8 to send a modulation command for instruments with greater modulation resolution.|
|MIDI CC 41||Undefined|
|MIDI CC 42||Pan (LSB)||Used with CC10 to send modulation commands for instruments with higher mod resolution.|
|MIDI CC 43||Expression (LSB)||Used with CC11 to send modulation commands for instruments with higher mod resolution.|
|MIDI CC 44||Effect Control 1 (LSB)||Used with CC12 to send modulation commands for instruments with higher mod resolution.|
|MIDI CC 45||Effect Control 2 (LSB)||Used with CC13 to send modulation commands for instruments with higher mod resolution.|
|MIDI CC 46 – 63||Undefined|
|MIDI CC 64||Sustain Pedal (on/off)||One of the most commonly used MIDI channels. Controls the sustain on an instrument. Almost all instruments will use this command.|
|MIDI CC 65||Portamento (on/off)||A switch for Portamento time used to turn it on and off. |
0-63 = off, 64-127 = on.
|MIDI CC 66||Sostenuto (on/off)||A switch for sustain of active notes is used to turn sustain on and off.|
0-63 = off, 64-127 = on.
|MIDI CC 67||Soft Pedal (on/off)||A switch to turn the soft pedal on and off. Supposed to emulate the Piano soft pedal.|
0-63 = off, 64-127 = on.
|MIDI CC68||Legato (on/off)||A switch to turn the legato on and off.|
|MIDI CC 69||Hold Pedal 2||An alternative control to sustain that affects how notes are held and fade out.|
|MIDI CC70||Sound Controller 1||A control for affecting how the sound is produced. Used for filters, effects etc.|
|MIDI CC 71||Sound Controller 2||Allocated to filter resonance/Q.|
|MIDI CC 72||Sound Controller 3||Allocated to the amp envelope release time. Changes how long notes fade out.|
|MIDI CC 73||Sound Controller 4||Allocated to the amp envelope attack time. Changes how fast the volume rises from the keypress to max volume.|
|MIDI CC 74||Sound Controller 5||Allocated to the filter cutoff frequency Hz value.|
|MIDI CC 75 – 79||Sound Controller 6-10||An extra control for affecting how the sound is produced. Used for filters, effects etc.|
|MIDI CC 80 – 84||General Purpose (on/off)||An on off switch for general purpose.|
|MIDI CC 84 – 90||Undefined|
|MIDI CC 91||Effect 1 Depth||Usually a control for reverb in your instrument.|
|MIDI CC 92||Effect 2 Depth||Usually a control for the amount of tremolo.|
|MIDI CC 93||Effect 3 Depth||Usually a control for the amount of chorus.|
|MIDI CC 94||Effect 4 Depth||Usually a control for the amount of detuning.|
|MIDI CC 95||Effect 5 Depth||Usually a control for the amount of phasing.|
|MIDI CC 96||Data Bound Increment (+1)||A control to increment data for SYSEX, NRPN, RPN.|
|MIDI CC 97||Data Bound Increment (-1)||A control to decrement data for SYSEX, NRPN, RPN.|
|MIDI CC 98||NRPN (LSB)||Selects the NRPN variable for CC6, 38, 96 & 97.|
|MIDI CC 99||NRPN (LSB)||Selects the NRPN variable for CC6, 38, 96 & 97.|
|MIDI CC 100||RPN (LSB)||Selects the RPN variable for CC6, 38, 96 & 97.|
|MIDI CC 101||RPN (MSB)||Selects the RPN variable for CC6, 38, 96 & 97.|
|MIDI CC 102 – 119||Undefined|
|MIDI CC 120||Channel Mute||Turns off all sound immediately, paying no attention to release or sustain.|
|MIDI CC 121||Reset All Controllers||Resets all controllers to default.|
|MIDI CC 122||Local Keyboard (on/off)||A switch for local keyboard mode, to turn on and off. Used to turn off the internal sound.|
|MIDI CC 123||All Notes (on/off)||A switch to turn all notes on, or off. Sustain and release will be maintained.|
|MIDI CC 124||OMNI Mode OFF||A switch to turn OMNI Mode off. OMNI on will send & receive information on all MIDI channels, rather than a particular one.|
|MIDI CC 125||OMNI Mode ON||A switch to turn OMNI Mode off. OMNI on will send & receive information on all MIDI channels, rather than a particular one.|
|MIDI CC 126||Mono Mode||Tells an instrument to work in Mono. Turns off Poly.|
|MIDI CC 127||Poly Mode||Tells an instrument to work in Poly mode. Turns off Mono.|
Undefined MIDI CC List
Here’s a list of undefined MIDI CCs:
- MIDI CC 3
- MIDI CC 9
- MIDI CC 14-15
- MIDI CC 20-31
- MIDI CC 85-90
- MIDI CC 102-119
How To Use MIDI CC & Program Them
MIDI CCs will be automatically programmed into your DAW when you play your MIDI controller. Things such as modulation wheel, pitch bend and velocity can be recorded live. For sustain, you will need a sustain pedal input.
In some cases, you will want to edit MIDI CCs or put them in yourself.
To use MIDI CCs, and program them in, follow these steps:
1. Load an instrument and create a MIDI clip
Create a MIDI channel, and open up a VST instrument. You can use a synth, a sampler, or any other instrument plugin you like.
Then, create a MIDI clip by either playing in something, or highlighting the area in your DAW, right-clicking and creating a MIDI clip.
2. Open the MIDI clip in the Piano Roll
To open the MIDI clip, double click on it, and it will open the piano roll panel of your DAW.
3. Click the automation button
Look for an automation button. It will either be a line with two dots or a squiggly line.
4. Choose a MIDI CC value
Choose from the list of MIDI CC values. You can choose sustain, portamento time, mod wheel, breath, and a load of other values to change.
5. Edit the MIDI CC value
Edit the MIDI CC value by drawing in automation points!
What MIDI CC Number is Pitch Bend?
Pitch bend isn’t a MIDI CC message. It has its own MIDI CC message format that transmits values between a range of -8192 to +8191. This allows the pitch to change in a consistent manner and prevents the stair-stepping effect.
Most DAW’s will include pitch bend on the MIDI CC list, in the automation area. However, it doesn’t actually have a value from 0-127 – it will just be listed as pitch bend.
This is a separate MIDI message that has been created solely for pitch bend, due to the stair-stepping problem mentioned above.
MIDI CC Jargon/Abbreviations (Explained)
What is Aftertouch?
Aftertouch is a MIDI message that’s values are controlled by the pressure applied to a keypress, while sustained. It controls effects on synths like vibrato volume, cutoff and any modulation you apply it to.
This can be used for expression when playing a MIDI keyboard, or a synth.
There are 2 types of Aftertouch:
- Channel Aftertouch – measures the value of the keys being pressed, and sends the highest value as a message for modulation.
- Polyphonic Aftertouch – measures the value of each individual key being pressed and sends all values as messages for modulation.
Channel Aftertouch is good to use for players who are less skilled and want a consistent sound across their synth patches.
Polyphonic Aftertouch is good for skilled players who want to inject more texture, character, depth and expression into their playing. This can increase MIDI data being sent, and cause a MIDI log-jam if too much info is being sent.
What Are MIDI Channel Messages?
MIDI CC, channel mode messages control the overall function of all voice channels on a MIDI instrument. They essentially alter the playing style of the notes played.
For instance, MONO will stop MIDI notes played when another overlaps it. Portamento will allow glide between notes played at the same time.
There are 4 kinds of MIDI CC channel messages, and they range from CC controls 122-127:
- ALL NOTES OFF
- LOCAL CONTROL
You can find a more technical explanation about MIDI CC channel messages, in this in-depth article. It will explain what each message is for. You can also check the table above to get greater clarity on what they control.
What Does MSB & LSB Mean?
MSB stands for “most significant byte”. LSB stands for “least significant byte”. These are used when MIDI needs to send a greater number of values to an instrument.
You’ll notice there are MSB MIDI CC channels and LSB MIDI CC channels. These channels will control the same function, and provide more bits for MIDI data to be sent through.
MIDI is only 7 bits, and cannot carry a lot of information, so sometimes when sending large amounts of information, MIDI will have to use two channels, so it can use twice the amount of numbers to send this info.
What Does NRPN, RPN, & SYSEX Mean?
- NRPN = Non-Registered Parameter Numbers
- RPN = Registered Parameter Numbers
- SYSEX = System Exclusive Messages
NRPN stands for Non-Registered Parameter Numbers. They are numbers that haven’t been standardized or used for a default control and can be used to control anything by other developers.
If developers use these numbers for whatever purpose they like, they have to document it. This is due to the “…problem[s] [caused] when the numbers of one manufacturer are used in a MIDI file run on another manufacturer’s MIDI device” (psrtutorial.com)
This number allows manufacturers, and developers to get devices to respond to a particular message. The message can be for anything the manufacturer chooses.
NRPNs also use MSB, and LSB channels to send more information.
RPN Stands for Registered Parameter Numbers. These are MIDI CCs that have been standardized and have default controls. Every MIDI device will have the same response to them if they have been designed to do so.
SYSEX stands for system exclusive messages. They are MIDI messages that send particular functions in MIDI hardware.
SYSEX messages are mostly used on older gear, due to their complications.
They can send messages in a string, rather than the MIDI on/off format. This means they can send/receive an array of instructions, instead of just the 1 that the MIDI on/off format provides.
SYSEX messages are much more complicated to read between MIDI devices, and NRPN + RPN numbers are more widely used because they are easier to read between different MIDI devices.
Related Questions: MIDI CC List
Can You Use A Computer Keyboard As A MIDI Controller?
You can use your computer keyboard to play keys and alter the pitch, modulation wheel and velocity of notes. Using your computer keyboard is much more limited, and you won’t be able to automate MIDI CC numbers using your keyboard.
To use your computer keyboard as a MIDI controller, please check your DAW manual.
For some DAWs you will have to select a button to allow your keyboard to be used to play notes. You also need to ensure that the MIDI channel you have open is armed, before trying to play using your keyboard.
Use these shortcuts to use your computer keyboard as a MIDI keyboard on the most popular DAW software:
- Logic – “cmd + k” will open the keyboard.
- Ableton – “k” will enable the keybaord as a MIDI keyboard.
- Cubase – “alt + k” shows the virtual keyboard, then you can use your computer keyboard as a MIDI device.
- FL Studio – no shortcut. Press the keyboard icon where the transport menu is located.
Can All Keyboard Synthesiers Be Used As MIDI Controllers?
Most hardware synthesizers that were built after the invention of MIDI, can be used as MIDI controllers. You will need to connect them using the 5-pin MIDI connector system. If your synth was made before MIDI, you can still use it. However, you will need a CV to MIDI converter.
A CV to MIDI converter will take your analogue synth note, and convert it to MIDI. This will allow you to control MIDI in your DAW using your hardware synth.
MIDI came out in 1983, so if you have any synthesizers before then, you will have to use a converter.
There are many CV to MIDI converters, but Kenton makes the cheapest and most basic units. You only need their CV to MIDI to be able to use your synth to control MIDI.
Also, something to keep in mind is that all past hardware synths may vary in the amount of control voltage they use to play notes. This could alter the way in which your CV to MIDI converter, converts notes.
To find out more about this, check out this huge article on CV to MIDI. It explains everything you need to know.