Control Change; System Exclusive; Custom Midi Message Example - Fractal Audio MFC-101 Owner's Manual

Mark ii
Hide thumbs Also See for MFC-101:
Table of Contents

Advertisement

APPENDIX

14.4.2 Control Change

Control Change messages consist of three bytes. The first byte is 0xBn, where n is the MIDI channel number in
hexadecimal minus 1. The second byte specifies the continuous controller number and has a range of 0 to 127.
The third byte specifies the value for the controller and has a range of 0 to 127.
So, for example, a message for CC#0 on MIDI channel 1 with a value of 0 would be B0 00 00.
A message for CC#64 on MIDI channel 4 with a value of 110 would be B3 40 6E.
For switched functions, the value 0 is typically considered "OFF", and the value 127 is "ON", though some devices
accept anything from 0 to 63 as OFF and anything from 64-127 as ON. Many devices also use Control Change
messages for real time continuous control.

14.4.3 System Exclusive

System exclusive messages are generally used to send device or system-specific information from one MIDI device
to another. These messages always start with the value F0 and end with the value F7. The data in between the
start and stop values must always be 7F or lower.

14.4.4 Custom MIDI Message Example

Suppose you need to load preset 1100 on a MIDI- device. This number is greater than the MFC-101's maximum
program change of 999. Let's also say that you need to send the device a system exclusive message to turn on an
effect. You will need a custom MIDI message. Assume the device is on MIDI channel 5. The first message will be a
Bank Select message (CC#0). The first byte is 0xC4 for Control Change, MIDI channel 5. The second byte is 0 (0x00)
for CC#0 (bank select). The third and last byte is 8 (0x08). This value was determined by dividing the desired
preset (in our case 1100) by the number of programs in a bank, 128. Therefore, 1100 / 128 = 8 (for this operation
we throw away the remainder).
The second message that should be programmed is a program change message. The first byte is 0xB4 and is
created as described above. The second byte is the program number. Since 1100 is greater than 128 we have to
compute what the value should be. In this case the value is the remainder when the preset number (1100) is
divided by the highest program change number that can be transmitted in a program change message (128). That
is, 1100 / 128 = 8 with remainder 76, so program 76 (0x4C) is the second byte.
The third message that should be programmed is a system exclusive message. The first byte is 0xF0 and signifies
the start of a system exclusive message. The inner data bytes of the system exclusive message are determined
from the MIDI spec for our device. Let's suppose they are 0x01 0x02 0x03 0x04 0x05. The last byte is 0xF7 and
signifies the end of the system exclusive message.
The bytes you would program into the custom MIDI message menu are therefore:
B4
00
08
Control
CC#0
Bank 8
Change,
(Bank
Ch. 4
Select)
Have fun, and remember writing MIDI hex code does not require you to wear a pocket protector.
C4
4C
F0
Program
Program
SysEx
Change,
#76
Start
Ch. 4
Fractal Audio Systems MFC-101 Manual
01
02
03
SysEx Data "payload"
04
05
F7
SysEx
End

Advertisement

Table of Contents
loading

Table of Contents