Programming
SEND_STRING MIDI,"$B0 + (MIDI_CHANNEL - 1), CONTROLLER, VALUE"
Specific example set volume to 50% on MIDI ch 5: MIDI_CHANNEL = 5
5 - 1 = 4
$B0 + 4 = $B4,
The standard MIDI Volume controller is 7,
127 * 50% = 64 (approximately), thus the send string, SEND_STRING MIDI,"$B4, 7, 64"
Selected MIDI controller numbers:
BANK SELECT MSB |
| = | 0 |
|
VOLUME |
| = | 7 |
|
PAN |
| = | 10 |
|
EXPRESSION |
| = | 11 | (* A SECOND VOLUME CONTROL *) |
GENERAL PURPOSE CONTROLLER # 1 | = | 16 |
| |
GENERAL PURPOSE CONTROLLER # 2 | = | 17 |
| |
GENERAL PURPOSE CONTROLLER # 3 | = | 18 |
| |
GENERAL PURPOSE CONTROLLER # 4 | = | 19 |
| |
BANK SELECT LSB |
| = | 32 |
|
HOLD | = 64 | (* 2nd data byte of 63 or less = OFF, | ||
|
|
|
| 64 or greater = ON *) |
REVERB SEND |
| = | 91 |
|
EFFECTS 2 DEPTH |
| = | 92 |
|
CHORUS SEND |
| = | 93 |
|
EFFECTS 4 DEPTH |
| = | 94 |
|
EFFECTS 5 DEPTH |
| = | 95 |
|
ALL SOUND OFF |
| = | 120 (* 2nd data byte is always "0" *) | |
RESET ALL CONTROLLERS |
| = | 121 (* 2nd data byte is always "0" *) |
The Control change is denoted by status byte $B0 (for MIDI channel 1) through status byte $BF (for MIDI channel 16), followed by two data bytes.
PRGM EX. 4
MIDI_CHANNEL = 6 6 - 1 = 5 $90 + 5 = $95 Note = 60
Velocity = 96, thus the send string,
SEND_STRING MIDI,"$95,60,96"
To turn the same note off:
SEND_STRING MIDI,"$95,60,0"
Specific example, Middle C (Note #60) on, on MIDI ch 6. If you're not sure what velocity to use try some- thing between 64 (half) and 127(full), how about 96?
PRGM EX. 5
| 10 | |
|
|
|