12.3 Управляющие сообщения (CC)
Назначение управляющих сообщений — информировать об изменении состояния MIDI-параметра. Если вы используете MIDI-устройство, то эти сообщения могут использоваться для управления педалями, слайдерами громкости, колесами модуляции и прочими рукоятками и фейдерами ваших электронных инструментов. В REAPER управляющие сообщения могут симулировать этот эффект во время воспроизведения ваших MIDI-данных в программном синтезаторе.
Данные контроллеров могут использоваться в различных целях. Различные потоки данных контроллеров нумеруются от 0 до 127. Некоторые контроллеры имеют стандартные номера. Например, контроллер 7 используется для управления громкостью, а контроллер 10 — панорамой.
Управляющие сообщения состоят из двух частей. Первая — это номер контроллера, который определяет, какой параметр будет изменяться. Вторая часть — желаемое значение параметра. Например, вы можете послать сообщение CC #7, чтобы указать, что хотите изменить громкость. Далее, вы посылаете значение громкости, которое вам необходимо.
Управляющее сообщение может устанавливать как абсолютное значение параметра, так и смещение (подстраивать текущее значение параметра в большую или меньшую сторону на определенную величину).
MSB и LSB — это старший значащий и младший значащий байты соответственно. Управляющие сообщения MSB обычно работают как грубая подстройка, а LSB – тонкая подстройка параметров. Некоторые управляющие сообщения имеют обе версии и MSB, и LSB. Большинство MIDIустройств, имеющих звуки/патчи, отвечают на управляющие сообщения выбора банка (Bank Select) MSB и LSB.
Некоторые часто используемые параметры перечислены ниже. Не страшно, если вы не понимаете их все. Более подробные сведения вы можете найти в документации по вашим MIDI-устройствам.
MIDI CC List
Hopefully this list of MIDI continuous control changes will help you. Please bookmark this MIDI CC List and share.
MIDI CC parameters are useful for automating in your DAW. They add movement, depth and variation helping your tracks sound more orgainic and expressive rather than monotonous and sterile.The MIDI CC list provides a comprehensive overview of all 127 control change messages and the default actions assigned to them. This list can be used to set up your MIDI controller and manipulate your MIDI data in various ways, such as adding vibrato, abrupt or gradual volume changes, or controlling the amount of reverb, tremolo, and/or chorus. The most commonly used CCs are highlighted in bold.
To assign a custom parameter to a MIDI CC, you can refer to the separate MIDI CC list of undefined CCs provided below.
MIDI CC Index:
Go directly to a specific list or section using the index below.
-
(Common parameters are bolded)
MIDI CC parameters are essential for automation in your DAW, as they add movement, expression, and variation to your music compositions. They can make even orchestral music on software instruments feel expressive, organic, and lively. Or try slight pitch bends at the ends of your synth bass notes or the beginning of your chords.
CC values have a range from 0-127, with 0 being the minimum value and 127 being the maximum value. However, some parameters are on/off, where 0 to 63 = Off and 64 to 127 = On.
For convenience, the Common MIDI CC messages are bolded in the chart below.
Also, to be correct, it’s CONTROL CHANGE! Look for «continuous controls» and then look for «control change,» on the official MIDI.org site.
MIDI Control Change Messages – Continuous Controllers
| MIDI CC Number | MIDI CC Purpose |
MIDI CC Description |
Value |
|---|---|---|---|
| MIDI CC 0 |
Bank Select | Allows user to switch bank for patch selection. Program change used with Bank Select. MIDI can access 16,384 patches per MIDI channel. | 0-127 |
| MIDI CC 1 |
Modulation | Generally this CC controls a vibrato effect (pitch, loudness, brighness). What is modulated is based on the patch. | 0-127 |
| MIDI CC 2 |
Breath Controller | Often times associated with aftertouch messages. It was originally intended for use with a breath MIDI controller in which blowing harder produced higher MIDI control values. It can be used for modulation as well. | 0-127 |
| MIDI CC 3 |
Undefined | 0-127 | |
| MIDI CC 4 |
Foot Controller | Often used with aftertouch messages. It can send a continuous stream of values based on how the pedal is used. | 0-127 |
| MIDI CC 5 |
Portamento Time |
Controls portamento rate to slide between 2 notes played subsequently. | 0-127 |
| MIDI CC 6 |
Data Entry Most Significant Bit(MSB) | Controls Value for NRPN or RPN parameters. | 0-127 |
| MIDI CC 7 |
Volume | Control the volume of the channel | 0-127 |
| MIDI CC 8 |
Balance | Controls the left and right balance, generally for stereo patches. 0 = hard left, 64 = center, 127 = hard right |
0-127 |
| MIDI CC 9 |
Undefined | 0-127 | |
| MIDI CC 10 |
Pan | Controls the left and right balance, generally for mono patches. 0 = hard left, 64 = center, 127 = hard right |
0-127 |
| MIDI CC 11 |
Expression | Expression is a percentage of volume (CC7). | 0-127 |
| MIDI CC 12 |
Effect Controller 1 | Usually used to control a parameter of an effect within the synth/workstation. | 0-127 |
| MIDI CC 13 |
Effect Controller 2 | Usually used to control a parameter of an effect within the synth/workstation. | 0-127 |
| MIDI CC 14 |
Undefined | 0-127 | |
| MIDI CC 15 |
Undefined | 0-127 | |
| MIDI CC 16 – 19 |
General Purpose | 0-127 | |
| MIDI CC 20 – 31 |
Undefined | 0-127 | |
| MIDI CC 32 – 63 |
Controller 0-31 Least Significant Bit (LSB) | 0-127 | |
| MIDI CC 64 |
Damper Pedal / Sustain Pedal |
On/Off switch that controls sustain. (See also Sostenuto CC 66) 0 to 63 = Off, 64 to 127 = On |
≤63 off, ≥64 on |
| MIDI CC 65 |
Portamento On/Off Switch | On/Off switch 0 to 63 = Off, 64 to 127 = On |
≤63 off, ≥64 on |
| MIDI CC 66 |
Sostenuto On/Off Switch | On/Off switch – Like the Sustain controller (CC 64), However it only holds notes that were “On” when the pedal was pressed. People use it to “hold” chords” and play melodies over the held chord. 0 to 63 = Off, 64 to 127 = On |
≤63 off, ≥64 on |
| MIDI CC 67 |
Soft Pedal On/Off Switch | On/Off switch — Lowers the volume of notes played. 0 to 63 = Off, 64 to 127 = On |
≤63 off, ≥64 on |
| MIDI CC 68 |
Legato FootSwitch | On/Off switch — Turns Legato effect between 2 subsequent notes On or Off. 0 to 63 = Off, 64 to 127 = On |
≤63 Normal, ≥64 Legato |
| MIDI CC 69 |
Hold 2 | Another way to “hold notes” (see MIDI CC 64 and MIDI CC 66). However notes fade out according to their release parameter rather than when the pedal is released. | ≤63 off, ≥64 on |
| MIDI CC 70 |
Sound Controller 1 | Usually controls the way a sound is produced. Default = Sound Variation. | 0-127 |
| MIDI CC 71 |
Sound Controller 2 | Allows shaping the Voltage Controlled Filter (VCF). Default = Resonance — also(Timbre or Harmonics) |
0-127 |
| MIDI CC 72 |
Sound Controller 3 | Controls release time of the Voltage controlled Amplifier (VCA). Default = Release Time. | 0-127 |
| MIDI CC 73 |
Sound Controller 4 | Controls the “Attack’ of a sound. The attack is the amount of time it takes forthe sound to reach maximum amplitude. | 0-127 |
| MIDI CC 74 |
Sound Controller 5 | Controls VCFs cutoff frequency of the filter. | 0-127 |
| MIDI CC 75 |
Sound Controller 6 | Generic – Some manufacturers may use to further shave their sounds. | 0-127 |
| MIDI CC 76 |
Sound Controller 7 | Generic – Some manufacturers may use to further shave their sounds. | 0-127 |
| MIDI CC 77 |
Sound Controller 8 | Generic – Some manufacturers may use to further shave their sounds. | 0-127 |
| MIDI CC 78 |
Sound Controller 9 | Generic – Some manufacturers may use to further shave their sounds. | 0-127 |
| MIDI CC 79 |
Sound Controller 10 | Generic – Some manufacturers may use to further shave their sounds. | 0-127 |
| MIDI CC 80 |
General Purpose MIDI CC Controller |
Generic On/Off switch 0 to 63 = Off, 64 to 127 = On |
0-127 |
| MIDI CC 81 |
General Purpose MIDI CC Controller | Generic On/Off switch 0 to 63 = Off, 64 to 127 = On |
0-127 |
| MIDI CC 82 |
General Purpose MIDI CC Controller |
Generic On/Off switch 0 to 63 = Off, 64 to 127 = On |
0-127 |
| MIDI CC 83 |
General Purpose MIDI CC Controller | Generic On/Off switch 0 to 63 = Off, 64 to 127 = On |
0-127 |
| MIDI CC 84 |
Portamento CC Control | Controls the amount of Portamento. | 0-127 |
| MIDI CC 85 – 87 |
Undefined | — | |
| MIDI CC 88 |
Undefined | High Resolution Velocity Prefix. Extends range of values, thereby creating a greater degree of precision. | 0-127 |
| MIDI CC 89 – 90 |
Undefined | — | |
| MIDI CC 91 |
Effect 1 Depth | Usually controls reverb send amount | 0-127 |
| MIDI CC 92 |
Effect 2 Depth | Usually controls tremolo amount | 0-127 |
| MIDI CC 93 |
Effect 3 Depth | Usually controls chorus amount | 0-127 |
| MIDI CC 94 |
Effect 4 Depth | Usually controls detune amount | 0-127 |
| MIDI CC 95 |
Effect 5 Depth | Usually controls phaser amount | 0-127 |
| MIDI CC 96 |
(+1) Data Increment | Usually used to increment data for RPN and NRPN messages. | N/A |
| MIDI CC 97 |
(-1) Data Decrement | Usually used to decrement data for RPN and NRPN messages. | N/A |
| MIDI CC 98 |
Non-Registered Parameter Number LSB (NRPN) | For controllers 6, 38, 96, and 97, it selects the NRPN parameter. | 0-127 |
| MIDI CC 99 |
Non-Registered Parameter Number MSB (NRPN) | For controllers 6, 38, 96, and 97, it selects the NRPN parameter. | 0-127 |
| MIDI CC 100 |
Registered Parameter Number LSB (RPN) | For controllers 6, 38, 96, and 97, it selects the RPN parameter. | 0-127 |
| MIDI CC 101 |
Registered Parameter Number MSB (RPN) | For controllers 6, 38, 96, and 97, it selects the RPN parameter. | 0-127 |
| MIDI CC 102 – 119 |
Undefined | — | |
| MIDI CC 120 to 127 are “Channel Mode Messages.” | |||
| MIDI CC 120 |
All Sound Off | Mutes all sounding notes. It does so regardless of release time or sustain. (See MIDI CC 123) | 0 |
| MIDI CC 121 |
Reset All Controllers | It will reset all controllers to their default. | 0 |
| MIDI CC 122 |
Local On/Off Switch | Turns internal connection of a MIDI keyboard/workstation, etc. On or Off. If you use a computer, you will most likely want local control off to avoid notes being played twice. Once locally and twice whent the note is sent back from the computer to your keyboard. | 0 off, 127 on |
| MIDI CC 123 |
All Notes Off | Mutes all sounding notes. Release time will still be maintained, and notes held by sustain will not turn off until sustain pedal is depressed. | 0 |
| MIDI CC 124 |
Omni Mode Off | Sets to “Omni Off” mode. | 0 |
| MIDI CC 125 |
Omni Mode On | Sets to “Omni On” mode. | 0 |
| MIDI CC 126 |
Mono Mode | Sets device mode to Monophonic. [Channel Mode Message] Mono Mode On (+ poly off, + all notes off). This equals the number of channels, or zero if the number of channels equals the number of voices in the receiver. | Read Description |
| MIDI CC 127 |
Poly Mode | Sets device mode to Polyphonic. [Channel Mode Message] Poly Mode On (+ mono off, +all notes off). | 0 |
Undefined MIDI CC List
In case you just want an undefined MIDI CC List, here are the undefined MIDI CCs. You may use them to attach an effect/parameter/etc. to a hardware MIDI Controller.
Useful when you want a controller to «learn MIDI!»
- 3
- 9
- 14-15
- 20-31
- 85-90
- 102-119
MIDI CC List of Common Parameters
- 1 = Modulation wheel
- 2 = Breath Control
- 7 = Volume
- 10 = Pan
- 11 = Expression
- 64 = Sustain Pedal (on/off)
- 65 = Portamento (on/off)
- 71 = Resonance (filter)
- 74 = Frequency Cutoff (filter)
MIDI CC values are between 0-127, resulting in 128 values since it’s zero-based. MIDI CC values can be on/off switches. 0-63 = off, 64-127 = on.
MIDI CC List — More context for use
MIDI CC, or Continuous Controller, is a type of MIDI message that is used to control various parameters on a MIDI-enabled device, such as a synthesizer or sound module. These messages are sent using a specific MIDI channel and controller number, and can be used to adjust things like volume, panning, and other effects.
One of the great things about MIDI CC is that it allows for real-time control of a device, which can be very useful in a live performance setting. For example, a musician could use a MIDI controller to adjust the volume of a synth while they are playing, or change the tempo of a drum machine on the fly.
There are also many software applications that allow you to use MIDI CC to control various parameters on your computer. For example, you could use a MIDI controller to adjust the level of a track in your DAW (Digital Audio Workstation), or control the tempo of a virtual instrument.
One common use of MIDI CC is in the creation of automated control changes. This is where a series of control messages are pre-programmed into a sequencer, and then sent out to a device or software effect or synthesizer at a specific time. This allows for precise control over a device, and can be used to create complex effects and transitions in your music.
Overall, MIDI CC is a powerful and versatile tool that allows for precise control over MIDI-enabled devices. Whether you are a musician looking to add some real-time control to your live performances, or a producer looking to add some automation to your productions, MIDI CC is definitely worth exploring.
MIDI CC History
MIDI CC, or Continuous Controller, is a type of MIDI message that is used to control various parameters on a MIDI-enabled device, such as a synthesizer or sound module. The origins of MIDI CC can be traced back to the early days of digital music production, when musicians and producers were first beginning to experiment with the possibilities of computer-based music production.
The first MIDI controllers were developed in the early 1980s, and they were initially used to control basic parameters such as pitch, velocity, and modulation. However, as the technology progressed, musicians and producers began to realize the potential of MIDI CC to control more complex parameters such as volume, panning, and effects.
One of the key factors that led to the development of MIDI CC was the need for more expressive and dynamic control over music production. With traditional analog instruments, musicians had a wide range of control options available to them, such as knobs, sliders, and pedals. However, with early digital instruments, musicians were often limited to basic on/off controls and simple parameter adjustments.
MIDI CC changed this by providing musicians with a wide range of control options that could be easily integrated into their digital production workflow. This allowed for more expressive and dynamic control over music production, and it opened up new possibilities for composers, producers, and performers alike. Even more possibilities have emerged with the development of DAWs, software synthe and Effects (i.e. VSTs, AU, VST3, CLAP, etc.).
One of the most significant developments in the history of MIDI CC was the development of the MIDI controller. A MIDI controller is a device that allows musicians to control various parameters on their MIDI-enabled devices, such as a synthesizer or sound module. This could be a keyboard, a drum pad, or a dedicated MIDI controller with knobs and sliders. With the introduction of the MIDI controller, musicians were now able to control a wide range of parameters on their MIDI-enabled devices in real-time, which allowed for more expressive and dynamic performances.
Another important development in the history of MIDI CC was the introduction of automated control changes. As stated above, this is where a series of control messages are pre-programmed into a sequencer, and then sent out to a device at a specific time. This allowed for precise control over a device, thereby creating new possibilities for composers, producers, and performers alike.
As MIDI technology progressed, more and more software applications were developed that allowed musicians to use MIDI CC to control various parameters on their computer. This included digital audio workstations (DAWs), software synthesizers, and virtual instruments. With these new software applications, musicians were now able to create complex and expressive music compositions using MIDI CC.
Today, MIDI CC continues to be an important aspect of digital music production. It is used in a wide range of applications, from live performances to music production in the studio. And with the development of new technologies such as the Internet of Things (IoT) and artificial intelligence (AI), MIDI CC is likely to continue to evolve and play an important role in the future of music production.
In conclusion, the development of MIDI CC has played a crucial role in the evolution of digital music production. It has allowed musicians and producers to control various parameters on their MIDI-enabled devices in real-time, which has opened up new possibilities for composers, producers, and performers alike. And with the continued development of new technologies, MIDI CC is likely to continue to play an important role in the future of music production.
MIDI Sysex and Usage
MIDI sysex, or System Exclusive, is a type of MIDI message that is used to send and receive non-standard data between MIDI-enabled devices. This type of message allows for the transfer of data that is not covered by the standard MIDI protocol, such as device-specific parameters and settings.
One of the main uses of MIDI sysex is for device-specific control and configuration. Many MIDI-enabled devices, such as synthesizers and sound modules, have unique parameters and settings that cannot be controlled using standard MIDI messages. MIDI sysex allows for the transfer of this non-standard data, allowing for more detailed and specific control over the device.
Another important use of MIDI sysex is for device initialization and setup. When a MIDI-enabled device is first connected to a computer or other MIDI controller, it often needs to be initialized and configured before it can be used. MIDI sysex allows for the transfer of initialization and setup data, allowing for the device to be configured and ready for use quickly and easily.
MIDI sysex is also commonly used for firmware updates and upgrades. Many MIDI-enabled devices have the ability to update their firmware, which can add new features or fix bugs. MIDI sysex allows for the transfer of firmware data, allowing for the device to be updated quickly and easily.
In addition to its use in device control and configuration, MIDI sysex is also commonly used in the music production process. Many digital audio workstations (DAWs) and software synthesizers support MIDI sysex, allowing for the transfer of non-standard data between the software and the hardware devices. This can include the transfer of preset data, which allows for the recall of specific settings and parameters on the hardware device.
MIDI sysex is also commonly used in live performances, as it allows for the transfer of real-time control data between devices. This can include the control of effects and other parameters on a sound module, or the control of lighting and other visual elements in a live performance setting.
One of the main advantages of MIDI sysex is its flexibility. As it is a non-standard message, it can be used to transfer a wide range of data, making it useful in a variety of different applications. Additionally, MIDI sysex is supported by a wide range of devices and software, making it a widely compatible and reliable method for data transfer.
However, it’s important to note that not all MIDI devices are designed to handle sysex messages, so it’s important to check the documentation of the device before using sysex. Additionally, the use of sysex can sometimes be tricky, as it requires a good understanding of the specific device and its settings.
In conclusion, MIDI sysex is a powerful and flexible method for sending and receiving non-standard data between MIDI-enabled devices. It is commonly used for device control and configuration, initialization and setup, firmware updates, live performances, and music production. While it is a non-standard message, it is widely supported and compatible, making it a reliable method for data transfer. However, it’s important to be aware of the device’s compatibility and the understanding of the device before using it.
*It’s important to note that not all synthesizers respond to all CCs. You can find a list of the supported CCs in your synth or keyboard manual, usually labeled as the MIDI implementation chart. If you don’t have the manual or can’t find one online, you can try experimenting with different CCs to see if they work. If you find this page helpful, feel free to share it.
MIDI CC Snippet for sharing
About
I’m Nick. This site is dedicated to music & audio.
Please take a moment to look around the site. I make music too. I appreciate likes and follows!
This site is a lot of work. I’ve maintained and updated it for over 14 years now!
beat bars blog
beat bars is a place for musicians, producers and DJs.
What does CC stand for in MIDI?

This is another article about MIDI, this time about control.
In the previous post, we talked a little about the basics of MIDI. Here’s a brief reminder of the most important points:
- MIDI is a standard of communication between digital musical instruments
- An instrument can send or receive signals from or to another instrument or computer (or even a phone)
- A MIDI message is basically a set of some simple information, e.g. a MIDI keyboard can send to a sound module a message: the A₃ key was pressed with a velocity (impact of the key) of x. The sound module (hardware with an audio output, or software on a computer) in response to such a message either reproduces the appropriate sound from its memory (sampler) or generates it (a synthesizer).
- There are several types of MIDI messages. The first is pressing a key: Note-On.
- Another type of message is CC, or Control Change, which will be discussed in this article.
A MIDI CC message (similarly to Note-On) is a set of a few simple pieces of information, namely:

- MIDI channel (described in another post)
- The number of the controller (a number from 0 to 127, and actually from 1 to 119, without 0 and 32, because the numbers 120–127, 0 and 32 are reserved for a slightly different type of message, which is not relevant at the moment)
- The controller value (a number from 0 to 127)
What is CC used for?
The simplest, most common example is the modulation wheel on keyboards.
A modulation wheel sends not one but a whole stream of MIDI messages with values corresponding to how much you turn the wheel. The message is sent only when you turn the wheel. When you stop the wheel in any position, the MIDI information ceases to be sent.
By the way, this type of MIDI message does not need to be triggered by a wheel, you can also use the MIDI Expression Pedal. Anyone who has tried it knows how convenient it is.
How fast is CC sent?
Very fast, or fast enough. Imagine that you turn the wheel from minimum to maximum as fast as you can. With a high probability, all possible values will be sent in 127 subsequent messages. Since the wheel is initially in position 0, the first message will be sent with the value 1 and the last message will be 127. The intervals between individual messages will be equal to approximately a few milliseconds. However, even if some values are omitted, this will not have any influence on the final effect. And the final effect is, in this case, the depth of the sound modulation.
What does the modulation mean exactly?

Well, it is very important in the context of what I will be describing. Specifically, it depends on the MIDI receiver — the sound module, or the effect in the DAW or in the synthesizer, or in anything else that is compatible with the MIDI standard.
For example, if you are playing on a MIDI keyboard, and in your virtual plugin in DAW or in a sound module built into a physical digital instrument you have chosen the “Grand Piano” sound, the modulation messages will most likely be ignored. The grand piano sound usually does not provide any modulation — it has to replicate as accurately as possible the sound of a real piano. But if you use the “Hammond Organ” sound, changing the value of modulation will, for example, change the speed of vibration that is so characteristic for this instrument.
There is usually a pitch-bend wheel next to the modulation wheel, but it will be described in one of the next posts.
In addition to the modulation wheel also knobs, sliders and the expression pedals send a similar sequence of messages — changing values due to turning or rotation.

And which knob send which CC number?
If the built-in firmware allows for their configuration, you can assign any controller number to particular knobs, including once again CC #1 for modulation, but usually the numbers of subsequent controllers are assigned to them. The official full list can be found here.
So, for example, does no. 2 — Breath Controller — have to be associated with some breath controller?
No — it’s just a convention, i.e. if you have a digital aerophone and switch it to CC mode (not playing, i.e. Note-On/Off), it should send CC #2 messages.
In the case of configurable controllers, you can assign any number from 1 to 119 (not exactly any to be consistent with the convention, but for the sake of this explanation, let’s assume that this is the case) to any knob, slider or pedal.
But what does it give us that we send these messages to another device?
We already know that the modulation controller is sometimes appropriately interpreted and sometimes ignored, and what about other controller numbers?
This is a similar case — sometimes they are automatically interpreted, and sometimes not. However, in most cases, especially in virtual instruments in each DAW we can assign individual controllers as we like e.g. to CC #2 we can assign “depth of reverb” in the plug‑in.
We may not even know what CC number is being sent by a particular controller knob, because in the DAW there is usually a “MIDI Learn” function which listens to what is currently being sent and remembers it under a given function, in this case a reverb.

And what about the buttons and switches?
They can also send CC and be received by another MIDI device or DAW, usually to turn the effect on and off.
And what values turn on and turn off if we have a range of values from 0–127?
Well, according to the specification, values ≤63 are OFF and ≥64 are ON. Typically, a footswitch controller only sends values 0 and 127. Toggle buttons or a sustain pedal send 127 when they are pressed, and 0 when released, as in the case of the keys on a keyboard, except that a keyboard sends two separate types of messages: Note-On and Note-Off, and the value in the range of 0–127 is velocity (which seems a bit pointless for Note-Off, but theoretically the speed of letting go can also be appropriately interpreted).

How else (apart from wheels, knobs, buttons, switches, pedals, sliders, keys, pads, etc.) is it possible to control effects via MIDI CC?
There are no limits. As I mentioned earlier, you can control them using your breath or by moving your hands.
You can even control effects by moving your lips. This movement can be detected by an iPhone and used to control e.g. wah-wah effect.
In the next articles, we will write more about other types of MIDI messages and how to physically connect MIDI devices — wired and wireless, as well as how to turn a non-MIDI device into a MIDI device.
Сообщения Control Change
There’s an separate category of MIDI messages called Control Change, or “CC,” messages. Control Change messages cover a wide range of behaviors that can be controlled via MIDI.
Control Change messages are numbered from 0-127, like so many things in MIDI. There’s a complete list of MIDI Control Change messages later in this book. For now, let’s discuss how they work.
Some instruments allow you to easily send any Control Change message to another device.
Понятие сообщений Control Change
Сообщения Control Change, или "CC", относятся к отдельной группе MIDI-сообщений. В первую очередь они служат
для управления устройствами по MIDI.
Сообщения Control Change имеют номера 0 — 127. Полный список приведен в конце брошюры.
- Некоторые инструменты Roland, например, Fantom-Gи MV-8800, позволяют непосредственно передавать любые сообщения Control Change в другое устройство.
- Ниже будет описаны форматы сообщений Control Change. Эта информация может потребоваться при работе с некоторыми MIDI-секвенсорами.
How Control Change Messages Work
About MIDI Device Sounds
Each sound-producing MIDI device contains an engine of some sort for producing its sounds. This engine has a collection of settings, or “parameters,” that control its behavior. These parameters, and their values, allow the device to produce a range of different sounds. A sound, often called a “patch,” is really nothing more than one set of values for the engine’s parameters.
Control Change Messages and Sound Parameters
Many sound/patch parameters correspond to a Control Change number. This allows a MIDI controller to set the parameters remotely. A properly constructed Control Change message has two elements:
- First, the desired parameter’s Control Change number is transmitted to the receiving device to let it know the parameter to be set.
- Second, the desired value for the parameter is transmitted.
- First, you send a CC #7 message—CC #7 is the Volume Control Change message—to tell the receiving unit you want to adjust its loudness.
- Next, you send a value that sets the unit’s loudness as desired.
A Control Change message can act as an:
- override—that sets the parameter to the transmitted value.
- offset—that adjusts the parameter up or down by the value’s amount.
Работа с сообщениями Control Change
Тембры MIDI-устройства
Каждое звуковое MIDI-устройство генератор, производящий звук. Он имеет набор установок, или "параметров", которые воздействуют на тембр. Эти параметры и их значения позволяют устройству воспроизводить широкий спектр тембров. Результирующий звук, часто называемый "патчем", является ничем иным, как определенным набором значений параметров архитектуры инструмента.
Сообщения Control Change и параметры звука
Многие параметры звука/патча соответствуют сообщениям Control Change с определенными номерами. Это позволяет дистанционно управлять ими с помощью MIDI-контроллера. Корректно построенное сообщение Control Change состоит из двух элементов:
- Номер Control Change выбранного параметра, передаваемый в принимающее устройство.
- Значение параметра, передаваемое в устройство.
- Передайте сообщение CC #7 (Volume Control Change), чтобы указать приемному устройству на изменение громкости.
- Передайте значение, соответствующее новой громкости.
Значение Control Change может воздействовать на параметр двумя способами:
- Абсолютное — устанавливает переданное значение параметра.
- Относительное — изменяет параметр на величину переданного значения (положительного или отрицательного).
“MSB” and “LSB” stand for “Most Significant Byte” and “Least Significant Byte,” respectively. MSB Control Change messages typically act as coarse controls, while LSB messages generally allow fine adjustments.
A number of the Control Change messages have both MSB and LSB versions. MIDI devices that contain sounds/patches typically respond to both Bank Select MSB and LSB Control Change messages. Beyond that, MIDI devices may respond only to Control Change MSB messages, or to both MSB and LSB—you can check a device’s documentation for details.
As we noted earlier, Program Changes allow you to select sounds within the current sound bank. Many instruments, however, have more than 128 sounds, and therefore offer multiple sound banks. Bank Select Control Change messages, or simply “Bank Selects,” allow you to choose different banks within the receiving MIDI device.
In fact, a full Program Change message includes the Bank Select MSB and LSB values that choose the desired sound’s bank, and then the Program Change value for the sound itself within the bank. The message therefore has five elements, sent in the following order:
- CC #0—the Bank Select MSB Control Change message
- the MSB value—for the sound bank you want
- CC #32—the Bank Select LSB Control Change message
- the LSB value—for the sound bank you want
- the Program Change number—for the desired sound within the nowselected bank.
Other Common Control Change Messages
Some of the other most commonly used messages are:
- CC #1 Modulation—Modulation can add vibrato or other changes to a sound. Modulation messages are usually produced by pushing a pitch bend/modulation lever or modulation wheel forward.
- CC #7 Volume—This message can control the overall level of the receiving device’s sound.
- CC # 64 Sustain—This message instructs the receiving unit’s sound that a sustain pedal is being pressed, or not, causing notes to hold, or not.
- CC #74 Brightness—Brightness adjusts a sound’s filter cutoff, allowing you to create filter “sweeps” in the sound.
Undefined CC Numbers
Some of the 128 Control Change numbers aren’t assigned to MIDI device behaviors. These “undefined” Control Change numbers can be used by MIDI device manufacturers for unique purposes within their own products.
“Registered Parameter Numbers,” or “RPNs,” and “Non-Registered Parameter Numbers,” or “NRPNs” are special Control Change subgroups that provide control over other significant MIDI-device behaviors.
- RPNs—allow for the MIDI control of important global settings, including things like coarse and fine tuning. As the “Registered” in their name suggests, RPNs control a standardized set of parameters, regardless of manufacturer.
- NRPNs—allow manufacturers to control parameters in their products that are otherwise not controlled via MIDI.
Properly constructed RPN and NRPN messages contain the appropriate RPN or NRPN MSB and LSB values—to identify the parameter being set—along with a Data Entry MSB (and sometimes LSB) value to set the targeted parameter as desired.
As always, consult a device’s documentation to learn if and how it responds to RPNs and/or NRPNs.
