Build your own MIDI circuits
FAQ
Frequently Asked Questions.
Details
 
MIDI & Music
MIDI and Music Information
Details
 
MIDI Control and Mode Changes

 

Control and Mode Changes

 

Control Change Messages

MIDI Control Change messages are used to control a wide variety of functions in a synthesizer. Control Change messages, like other MIDI Channel messages, should only affect the Channel number indicated in the status byte. The Control Change status byte is followed by one data byte indicating the "controller number", and a second byte which specifies the "control value". The controller number identifies which function of the synthesizer is to be controlled by the message. A complete list of assigned controllers is found in  Table 1.

 

Channel Mode Messages

Channel Mode messages (MIDI controller numbers 121 through 127) affect the way a synthesizer responds to MIDI data. Controller number 121 is used to reset all controllers. Controller number 122 is used to enable or disable Local Control (In a MIDI synthesizer which has it's own keyboard, the functions of the keyboard controller and the synthesizer can be isolated by turning Local Control off). Controller numbers 124 through 127 are used to select between Omni Mode On or Off, and to select between the Mono Mode or Poly Mode of operation.

When Omni mode is On, the synthesizer will respond to incoming MIDI data on all channels. When Omni mode is Off, the synthesizer will only respond to MIDI messages on one Channel. When Poly mode is selected, incoming Note On messages are played polyphonically. This means that when multiple Note On messages are received, each note is assigned its own voice (subject to the number of voices available in the synthesizer). The result is that multiple notes are played at the same time. When Mono mode is selected, a single voice is assigned per MIDI Channel. This means that only one note can be played on a given Channel at a given time. Most modern MIDI synthesizers will default to Omni On/Poly mode of operation. In this mode, the synthesizer will play note messages received on any MIDI Channel, and notes received on each Channel are played polyphonically. In the Omni Off/Poly mode of operation, the synthesizer will receive on a single Channel and play the notes received on this Channel polyphonically. This mode could be useful when several synthesizers are daisy-chained using MIDI THRU. In this case each synthesizer in the chain can be set to play one part (the MIDI data on one Channel), and ignore the information related to the other parts.

Note that a MIDI instrument has one MIDI Channel which is designated as its "Basic Channel". The Basic Channel assignment may be hard-wired, or it may be selectable. Mode messages can only be received by an instrument on the Basic Channel.

 

 

2nd Byte value

3rd byte

Num Function Range

Use

0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

Bank Select
Modulation wheel
Breath control
Undefined
Foot controller
Portamento time
Data Entry
Channel Volume 
Balance
Undefined
Pan
Expression Controller
Effect control 1
Effect control 2
Undefined
Undefined

0-127
0-127
0-127
0-127
0-127
0-127
0-127
0-127
0-127
0-127
0-127
0-127
0-127
0-127
0-127
0-127

MSB
MSB
MSB
MSB
MSB
MSB
MSB
MSB
MSB
MSB
MSB
MSB
MSB
MSB
MSB
MSB

16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31

General Purpose Controller #1
General Purpose Controller #2
General Purpose Controller #3
General Purpose Controller #4
Undefined
Undefined
Undefined
Undefined
Undefined
Undefined
Undefined
Undefined
Undefined
Undefined
Undefined
Undefined

0-127
0-127
0-127
0-127
0-127
0-127
0-127
0-127
0-127
0-127
0-127
0-127
0-127
0-127
0-127
0-127

MSB
MSB
MSB
MSB
MSB
MSB
MSB
MSB
MSB
MSB
MSB
MSB
MSB
MSB
MSB
MSB

32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47

Bank Select
Modulation wheel
Breath control
Undefined
Foot controller
Portamento time
Data entry
Channel Volume 
Balance
Undefined
Pan
Expression Controller
Effect control 1
Effect control 2
Undefined
Undefined

0-127
0-127
0-127
0-127
0-127
0-127
0-127
0-127
0-127
0-127
0-127
0-127
0-127
0-127
0-127
0-127

LSB
LSB
LSB
LSB
LSB
LSB
LSB
LSB
LSB
LSB
LSB
LSB
LSB
LSB
LSB
LSB

48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63

General Purpose Controller #1
General Purpose Controller #2
General Purpose Controller #3
General Purpose Controller #4
Undefined
Undefined
Undefined
Undefined
Undefined
Undefined
Undefined
Undefined
Undefined
Undefined
Undefined
Undefined

0-127
0-127
0-127
0-127
0-127
0-127
0-127
0-127
0-127
0-127
0-127
0-127
0-127
0-127
0-127
0-127

LSB
LSB
LSB
LSB
LSB
LSB
LSB
LSB
LSB
LSB
LSB
LSB
LSB
LSB
LSB
LSB

64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79

Damper pedal on/off (Sustain)
Portamento on/off
Sustenuto on/off
Soft pedal on/off
Legato Footswitch
Hold 2
Sound Controller 1 (Snd. variation)
Sound Controller 2 (Timbre)
Sound Controller 3 (Release Time)
Sound Controller 4 (Attack Time)
Sound Controller 5 (Brightness)
Sound Controller 6
Sound Controller 7
Sound Controller 8
Sound Controller 9
Sound Controller 10

<63=off
<63=off
<63=off
<63=off
<63=off
<63=off
0-127
0-127
0-127
0-127
0-127
0-127
0-127
0-127
0-127
0-127

>64=on
>64=on
>64=on
>64=on
>64=on
>64=on
LSB
LSB
LSB
LSB
LSB
LSB
LSB
LSB
LSB
LSB

80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95

General Purpose Controller #5
General Purpose Controller #6
General Purpose Controller #7
General Purpose Controller #8
Portamento Control
Undefined
Undefined
Undefined
Undefined
Undefined
Undefined
Effects 1 (Reverb) Depth
Effects 2 (Tremolo) Depth
Effects 3 (Chorus) Depth
Effects 4 (Detune) Depth
Effects 5 (Phaser) Depth

0-127
0-127
0-127
0-127
0-127
0-127
0-127
0-127
0-127
0-127
0-127
0-127
0-127
0-127
0-127
0-127

LSB
LSB
LSB
LSB
Source Note
LSB
LSB
LSB
LSB
LSB
LSB
LSB
LSB
LSB
LSB
LSB

96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111

Data entry +1
Data entry -1
Non-Registered Parameter Number LSB
Non-Registered Parameter Number MSB
Registered Parameter Number LSB
Registered Parameter Number MSB
Undefined
Undefined
Undefined
Undefined
Undefined
Undefined
Undefined
Undefined
Undefined
Undefined

N/A
N/A
0-127
0-127
0-127
0-127
?
?
?
?
?
?
?
?
?
?

N/A
N/A
LSB
MSB
LSB
MSB
?
?
?
?
?
?
?
?
?
?

112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127

Undefined
Undefined
Undefined
Undefined
Undefined
Undefined
Undefined
Undefined
All Sound Off
Reset All Controllers
Local control on/off
All notes off
Omni mode off (+ all notes off)
Omni mode on (+ all notes off)
Poly mode on/off (+ all notes off)
Poly mode on

?
?
?
?
?
?
?
?
0
0
0=off, 1=on
0
0
0
*
0

Table 1: Control and Mode Changes

 

*Note: This equals the number of channels, or zero if the number of channels equals the number of voices in the receiver.