Fractal Audio Systems MFC-101 Manual
APPENDIX
Doc v2.15
75
14.4
Custom MIDI Message Primer
Creating custom MIDI messages for presets or IA Switches in the MFC-101 opens a world of possibilities “outside
the box.” While any MIDI data can be stored and sent, the most common types will likely be additional program
changes, control changes, and system exclusive messages. The following primer will help you get started with
custom MIDI messages. You can also learn more at http://www.midi.org/techspecs/midimessages.php.
NOTE:
Normally, hex values would be preceded by “0x” to indicate their not being standard numbers. Since this 0x
is not required by the MFC-101 custom MIDI fields, it is not shown in the examples below.
14.4.1
Program Change
Program change messages consist of two bytes. The first byte is 0xCn, where n is the MIDI channel number minus 1
in hexadecimal. MIDI channel to hexadecimal mapping is shown in the table below.
Channel
Hex
Channel
Hex
Channel
Hex
Channel
Hex
1
C0
5
C4
9
C8
13
CC
2
C1
6
C5
10
C9
14
CD
3
C2
7
C6
11
CA
15
CE
4
C3
8
C7
12
CB
16
CF
The second byte is the program number up to a maximum of 128, starting at 0, which makes the maximum value
127 (
7F
). Decimal to hexadecimal mapping is shown in the table below.
DATA BYTES: DECIMAL TO HEXIDECIMAL CONVERSION
Dec Hex
Dec Hex
Dec Hex
Dec Hex
Dec Hex
Dec Hex
Dec Hex
Dec Hex
0
00
16
10
32
20
48
30
64
40
80
50
96
60
112
70
1
01
17
11
33
21
49
31
65
41
81
51
97
61
113
71
2
02
18
12
34
22
50
32
66
42
82
52
98
62
114
72
3
03
19
13
35
23
51
33
67
43
83
53
99
63
115
73
4
04
20
14
36
24
52
34
68
44
84
54
100
64
116
74
5
05
21
15
37
25
53
35
69
45
85
55
101
65
117
75
6
06
22
16
38
26
54
36
70
46
86
56
102
66
118
76
7
07
23
17
39
27
55
37
71
47
87
57
103
67
119
77
8
08
24
18
40
28
56
38
72
48
88
58
104
68
120
78
9
09
25
19
41
29
57
39
73
49
89
59
105
69
121
79
10
0A
26
1A
42
2A
58
3A
74
4A
90
5A
106
6A
122
7A
11
0B
27
1B
43
2B
59
3B
75
4B
91
5B
107
6B
123
7B
12
0C
28
1C
44
2C
60
3C
76
4C
92
5C
108
6C
124
7C
13
0D
29
1D
45
2D
61
3D
77
4D
93
5D
109
6D
125
7D
14
0E
30
1E
46
2E
62
3E
78
4E
94
5E
110
6E
126
7E
15
0F
31
1F
47
2F
63
3F
79
4F
95
5F
111
6F
127
7F
So, for example, a program change message for Channel 1, Program 0 would be
C0 00.
A program change message for Channel 8/Program 32 would be
C7 20.
A program change message for Channel 16/Program 127 would be
C7 7F.
NOTE
: Remember to subtract 1 if you are using Display 1 on your connected device(s).
To access programs above #128, you must first send a bank select control change message (CC#0).