What is the difference between control change and program change?

Answered by Phillip Nicastro

Control Change (CC) and Program Change (PC) are two types of MIDI messages used in music production and performance. While both messages are used to control aspects of a synthesizer or sound module, they serve different purposes and have distinct characteristics.

1. Purpose:
– Control Change: CC messages are used to control various parameters and functions of a synthesizer, such as volume, panning, modulation, expression, and more. These messages allow for real-time control and manipulation of sound characteristics during a performance or recording.
– Program Change: PC messages, on the other hand, are used to change the instrument or sound preset on a specific MIDI channel. They specify the program number or patch that should be used to produce sound. PC messages are typically used to switch between different instrument sounds or to select specific presets on a synthesizer.

2. Data Structure:
– Control Change: A CC message consists of three data bytes: the status byte (indicating the type of message and the MIDI channel), the control change number (which specifies the parameter being controlled), and the control change value (the desired value for the parameter).
– Program Change: A PC message consists of two data bytes: the status byte (indicating the type of message and the MIDI channel) and the program number (indicating the desired instrument or sound preset).

3. Application:
– Control Change: CC messages provide a versatile means of controlling various aspects of a synthesizer’s sound in real-time. They are commonly used to add expression, dynamics, and modulation to performances. For example, a musician may use a MIDI controller’s modulation wheel to control the depth of a vibrato effect or a fader to adjust the volume of a synthesizer.
– Program Change: PC messages are primarily used to switch between different instrument sounds or presets. They are often utilized in live performances where a musician needs to change the timbre or character of their sound quickly. For instance, a keyboardist may use PC messages to switch from a piano sound to a string ensemble sound during a song.

4. MIDI Channels:
– Control Change: CC messages can be sent on any MIDI channel and are typically used to control parameters on a specific channel. This allows for independent control of multiple synthesizers or sound modules connected to different channels.
– Program Change: PC messages are typically sent on channel 1, which is the default channel for program changes. However, they can also be used on other channels to select different instrument sounds for each channel.

The main difference between Control Change and Program Change messages lies in their purpose and application. Control Change messages are used to control various parameters in real-time, while Program Change messages are used to select instrument sounds or presets.