Electronic Music Wiki
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.

Latest revision Your text
Line 1: Line 1:
 
(Often abbreviated CC, while the correct term is "Control Change") A category of [[MIDI]] messages which are used to convey performance or patch data for parameters other than those which have their own dedicated message types ([[note on]], [[note off]], [[aftertouch]], [[polyphonic aftertouch]], [[pitch wheel|pitch bend]], and [[program change]]). The continuous controller message format contains a controller number and a seven-bit value. 128 controller numbers are possible, but eight are reserved for special purposes, leaving 120 available. The standard originally assigned meanings to only a few of these, notably [[mod wheel]] which is assigned to continuous controller #1. However, subsequent revisions have assigned meanings to many of them, and divided the possible numbers into ranges for different purposes:
 
(Often abbreviated CC, while the correct term is "Control Change") A category of [[MIDI]] messages which are used to convey performance or patch data for parameters other than those which have their own dedicated message types ([[note on]], [[note off]], [[aftertouch]], [[polyphonic aftertouch]], [[pitch wheel|pitch bend]], and [[program change]]). The continuous controller message format contains a controller number and a seven-bit value. 128 controller numbers are possible, but eight are reserved for special purposes, leaving 120 available. The standard originally assigned meanings to only a few of these, notably [[mod wheel]] which is assigned to continuous controller #1. However, subsequent revisions have assigned meanings to many of them, and divided the possible numbers into ranges for different purposes:
* Numbers 0-31 are for commonly implemented controllers. Some of these controllers are capable of providing more resolution than what the seven-bit data byte can contain, and depending on the routing, whatever is being controlled may benefit from additional resolution in order to prevent [[zippering]]. So, numbers 32-63 are used for additional resolution for these controllers. When a controller wants to send a high-resolution value, it sends the most significant bits using its normal controller number, and then it sends the additional bits using the controller numbered 32 higher. So, for instance, if a controller has a mod wheel capable of sending additional resolution, each time the wheel is moved, the controller sends the normal controller #1 message followed by a controller #33 message.
+
* Numbers 0-31 are for commonly implemented controllers. Some of these controllers are capable of providing more resolution than what the seven-bit data byte can contain, and depending on the routing, whatever is being controlled may benefit from additional resolution in order to prevent [[zippering]]. So, numbers 32-63 are used for additional resolution for these controllers. When a controller wants to send a high-resolution value, it sends the most significant bits using its normal controller number, and then it sends the additional bits using the controller numbered 32 higher. So, for instance, if a controller has a mod wheel capable of sending additional resolution, each time the wheel is moved, the controller sends the normal controller #1 message followed by a controller #33 message.
* Numbers from 64 to 69 (originally 64 to 80) have long been reserved for on/off type parameters, with #64 being assigned to the [[sustain]] pedal. (A value of zero equals "off"; any nonzero value is taken to be "on".)
+
* Numbers from 64 to 69 (originally 64 to 80) have long been reserved for on/off type parameters, with #64 being assigned to the [[sustain]] pedal. (A value of zero equals "off"; any nonzero value is taken to be "on".)
* Numbers 70 to 95 are for controller definitions mostly associated with [[General MIDI]]. The extent to which these are implemented varies greatly. Many synths don't implement any of them.
+
* Numbers 70 to 95 are for controller definitions mostly associated with [[General MIDI]]. The extent to which these are implemented varies greatly. Many synths don't implement any of them.
 
* Numbers 96 to 101 are used with the [[registered parameter]] mechanism.
 
* Numbers 96 to 101 are used with the [[registered parameter]] mechanism.
 
* Numbers 102 to 119 are reserved.
 
* Numbers 102 to 119 are reserved.
* Numbers 120 to 127, as mentioned above, are special-purpose numbers for messages known as "channel mode" messages. They are for telling the receiving device to change modes associated with the MIDI capability itself. These are not considered controller messages.
+
* Numbers 120 to 127, as mentioned above, are special-purpose numbers for messages known as "channel mode" messages. They are for telling the receiving device to change modes associated with the MIDI capability itself. These are not considered controller messages.
   
 
Unfortunately, the standard is not very consistent about the meanings of some of the standard assignments.For instance, some such as [[volume]] and [[pan]] derive their names from the functions they are intended to perform, while others such as [[breath controller]] and [[expression pedal]] are named after the types of input devices that generally produce controller messages of that type. Also note that there is no enforcement on usage on conventional meanings for continuous controller messages; some [[soft synth]]s in particular are notorious for totally disregarding the standard controller number assignments.
 
Unfortunately, the standard is not very consistent about the meanings of some of the standard assignments.For instance, some such as [[volume]] and [[pan]] derive their names from the functions they are intended to perform, while others such as [[breath controller]] and [[expression pedal]] are named after the types of input devices that generally produce controller messages of that type. Also note that there is no enforcement on usage on conventional meanings for continuous controller messages; some [[soft synth]]s in particular are notorious for totally disregarding the standard controller number assignments.
   
Here are some commonly used controller numbers and their conventional meanings. Where two numbers are shown separated by a '|' character, the second number is the controller number for the least-significant-byte for controllers capable of additional resolution.
+
Here are some commonly used controller numbers and their conventional meanings. Where two numbers are shown separated by a '|' character, the second number is the controller number for the least-significant-byte for controllers capable of additional resolution.
   
 
0 | 32: [[bank select]]
 
0 | 32: [[bank select]]
 
<br />1 | 33: [[mod wheel]]
 
<br />1 | 33: [[mod wheel]]
 
<br />2 | 34: [[breath controller]]
 
<br />2 | 34: [[breath controller]]
<br />4 | 36: foot pedal
 
 
<br />5 | 37: [[portamento]] time
 
<br />5 | 37: [[portamento]] time
<br />6 | 38: [[data entry]] -- used with the [[registered parameter]] mechanism
+
<br />6 | 38: data entry -- used with the [[registered parameter]] mechanism
 
<br />7 | 39: [[volume]]
 
<br />7 | 39: [[volume]]
 
<br />10 | 42: pan -- adjusts the left-right positioning of a signal in a stereo output
 
<br />10 | 42: pan -- adjusts the left-right positioning of a signal in a stereo output
 
<br />11 | 43: [[expression pedal]]
 
<br />11 | 43: [[expression pedal]]
<br />16 | 48: general purpose controller #1
 
<br />17 | 49: general purpose controller #2
 
<br />18 | 50: general purpose controller #3
 
<br />19 | 51: general purpose controller #4
 
 
<br />64: [[sustain pedal]]
 
<br />64: [[sustain pedal]]
 
<br />65: [[portamento]] on/off
 
<br />65: [[portamento]] on/off
<br />66: sustenuto
 
<br />67: soft pedal
 
<br />68: legato
 
<br />69: [[hold 2]]
 
 
<br />88: [[High resolution velocity prefix]] (added 2010)
 
<br />88: [[High resolution velocity prefix]] (added 2010)
<br />96: increment
 
<br />97: decrement
 
 
<br />98 & 99: [[non-registered parameter]] number
 
<br />98 & 99: [[non-registered parameter]] number
 
<br />100 & 101: [[registered parameter]] number
 
<br />100 & 101: [[registered parameter]] number
Line 38: Line 27:
 
<br />122: [[local control]] on/off
 
<br />122: [[local control]] on/off
 
<br />123: [[all notes off]]
 
<br />123: [[all notes off]]
{{DEFAULTSORT:Control Change}}
 
 
[[Category:MIDI messages]]
 
[[Category:MIDI messages]]
 
{{DEFAULTSORT:Control Change}}
Please note that all contributions to the Electronic Music Wiki are considered to be released under the CC-BY-SA
Cancel Editing help (opens in new window)