MIDI Implementation
48H | — | 400 | 58H | — | 1000 | 68H | — | 2500 | 78H | — | 6300 | |||||
49H | — | 422 | 59H | — | 1060 | 69H | 2660 | 79H | — | 6700 | ||||||
4AH — | 450 | 5AH — | 1120 | 6AH — | 2800 | 7AH — | 7100 | |||||||||
4BH — | 473 | 5BH — | 1200 | 6BH — | 3000 | 7BH — | 7500 | |||||||||
4CH — | 500 | 5CH — | 1250 | 6CH — | 3150 | 7CH — | 8000 | |||||||||
4DH — | 530 | 5DH — | 1330 | 6DH — | 3350 | 7DH — | ||||||||||
4EH — | 560 | 5EH — | 1400 | 6EH — | 3550 | 7EH — | ||||||||||
4FH — | 600 | 5FH — | 1500 | 6FH — | 3760 | 7FH — |
Data | TYPE | |||
00H | RED7 | |||
01H | - | N1073 | ||
02H | - | MANSS | ||
03H | - AVTUBE | |||
04H | - AVSOLS | |||
05H | - HHTUBE | |||
06H | - MILLHV | |||
07H | - SATUBE | |||
08H | - CSSLST | |||
MIDI Data - PREAMP Gain Table
|
| 20H | — 3.2 | 40H | 0.0 | 60H | 3.2 | ||||||||
|
| 21H | — 3.1 | 41H | — | 0.1 | 61H | — | 3.3 | ||||||
|
| 22H | — | — 3.0 | 42H | — | 0.2 | 62H | — | 3.4 | |||||
|
| 23H | — | — 2.9 | 43H | — | 0.3 | 63H | — | 3.5 | |||||
04H | 6.0 | 24H | — | — 2.8 | 44H | — | 0.4 | 64H | — | 3.6 | |||||
05H | 5.9 | 25H | — | — 2.7 | 45H | — | 0.5 | 65H | — | 3.7 | |||||
06H | 5.8 | 26H | — | — 2.6 | 46H | — | 0.6 | 66H | — | 3.8 | |||||
07H | 5.7 | 27H | — | — 2.5 | 47H | — | 0.7 | 67H | — | 3.9 | |||||
08H | 5.6 | 28H | — | — 2.4 | 48H | — | 0.8 | 68H | — | 4.0 | |||||
09H | 5.5 | 29H | — | — 2.3 | 49H | — | 0.9 | 69H | — | 4.1 | |||||
0AH | 5.4 | 2AH — | — 2.2 | 4AH — | 1.0 | 6AH — | 4.2 | ||||||||
0BH | 5.3 | 2BH — | — 2.1 | 4BH — | 1.1 | 6BH — | 4.3 | ||||||||
0CH | 5.2 | 2CH — | — 2.0 | 4CH — | 1.2 | 6CH — | 4.4 | ||||||||
0DH | 5.1 | 2DH — | — 1.9 | 4DH — | 1.3 | 6DH — | 4.5 | ||||||||
0EH | — 5.0 | 2EH — | — 1.8 | 4EH — | 1.4 | 6EH — | 4.6 | ||||||||
0FH | — 4.9 | 2FH — | — 1.7 | 4FH — | 1.5 | 6FH — | 4.7 | ||||||||
10H | — 4.8 | 30H | — | — 1.6 | 50H | — | 1.6 | 70H | — | 4.8 | |||||
11H | — 4.7 | 31H | — | — 1.5 | 51H | — | 1.7 | 71H | — | 4.9 | |||||
12H | — 4.6 | 32H | — | — 1.4 | 52H | — | 1.8 | 72H | — | 5.0 | |||||
13H | — 4.5 | 33H | — | — 1.3 | 53H | — | 1.9 | 73H | — | 5.1 | |||||
14H | — 4.4 | 34H | — | — 1.2 | 54H | — | 2.0 | 74H | — | 5.2 | |||||
15H | — 4.3 | 35H | — | — 1.1 | 55H | — | 2.1 | 75H | — | 5.3 | |||||
16H | — 4.2 | 36H | — | — 1.0 | 56H | — | 2.2 | 76H | — | 5.4 | |||||
17H | — 4.1 | 37H | — | — 0.9 | 57H | — | 2.3 | 77H | — | 5.5 | |||||
18H | — 4.0 | 38H | — | — 0.8 | 58H | — | 2.4 | 78H | — | 5.6 | |||||
19H | — 3.9 | 39H | — | — 0.7 | 59H | — | 2.5 | 79H | — | 5.7 | |||||
1AH | — 3.8 | 3AH — | — 0.6 | 5AH — | 2.6 | 7AH — | 5.8 | ||||||||
1BH | — 3.7 | 3BH — | — 0.5 | 5BH — | 2.7 | 7BH — | 5.9 | ||||||||
1CH | — 3.6 | 3CH — | — 0.4 | 5CH — | 2.8 | 7CH — | 6.0 | ||||||||
1DH | — 3.5 | 3DH — | — 0.3 | 5DH — | 2.9 |
|
| ||||||||
1EH | — 3.4 | 3EH — | — 0.2 | 5EH — | 3.0 |
|
| ||||||||
1FH | — 3.3 | 3FH — | — 0.1 | 5FH — | 3.1 |
|
|
Appendices
precision is required, we must use two or more bytes. For example, two hexadecimal numbers aa bbH expressing two
*In the case of values which have a ± sign, 00H =
=+63, so that the decimal expression would be 64 less than the value given in the above chart. In the case of two types, 00 00H =
*Data marked “nibbled” is expressed in hexadecimal in
<Ex.1> What is 5AH in decimal system? 5AH = 90 according to the above table.
<Ex.2>What in decimal system is 12034H in hexadecimal of every 7 bit? 12H = 18, 34H = 52 according to the above table. So 18 x 128 + 52 = 2356.
<Ex.3> What in decimal system is 0A 03 09 0D in nibble system? 0AH = 10, 03H = 3, 09H = 9, 0DH = 13 according to the table.
So ((10 x 16 + 3) x 16 + 9) x 16 + 13 = 41885.
<Ex. 4> What in nibble system is 1258 in decimal system?
____
16)1258
16)78 ... 10
16)4 ... 14
0 ... 4
0 = 00H, 4 = 04H, 14 = 0EH, 10 = 0AH According to the table. So it is 00 04 0E 0AH.
●Example of system exclusive message and
Checksum calculation
On Roland system exclusive message (DT1), checksum is added at the end of transmitted data (in front of F7) to check the message is received correctly. Value of checksum is defined by address and data (or size) of the system exclusive message to be transmitted.
●Decimal and Hexadecimal table
(Hexadecimal number is shown with H.)
In MIDI documentation, data values and addresses/sizes of system exclusive messages etc. are expressed as hexadecimal values for each 7 bits.
The following table shows how these correspond to decimal numbers.
0 | 00H | 32 | 20H | 64 | 40H | 96 | 60H | |||||||||
1 | 01H | 33 | 21H | 65 | 41H | 97 | 61H | |||||||||
2 | 02H | 34 | 22H | 66 | 42H | 98 | 62H | |||||||||
3 | 03H | 35 | 23H | 67 | 43H | 99 | 63H | |||||||||
4 | 04H | 36 | 24H | 68 | 44H | 100 | 64H | |||||||||
5 | 05H | 37 | 25H | 69 | 45H | 101 | 65H | |||||||||
6 | 06H | 38 | 26H | 70 | 46H | 102 | 66H | |||||||||
7 | 07H | 39 | 27H | 71 | 47H | 103 | 67H | |||||||||
8 | 08H | 40 | 28H | 72 | 48H | 104 | 68H | |||||||||
9 | 09H | 41 | 29H | 73 | 49H | 105 | 69H | |||||||||
10 | 0AH | 42 | 2AH | 74 | 4AH | 106 | 6AH | |||||||||
11 | 0BH | 43 | 2BH | 75 | 4BH | 107 | 6BH | |||||||||
12 | 0CH | 44 | 2CH | 76 | 4CH | 108 | 6CH | |||||||||
13 | 0DH | 45 | 2DH | 77 | 4DH | 109 | 6DH | |||||||||
14 | 0EH | 46 | 2EH | 78 | 4EH | 110 | 6EH | |||||||||
15 | 0FH | 47 | 2FH | 79 | 4FH | 111 | 6FH | |||||||||
16 | 10H | 48 | 30H | 80 | 50H | 112 | 70H | |||||||||
17 | 11H | 49 | 31H | 81 | 51H | 113 | 71H | |||||||||
18 | 12H | 50 | 32H | 82 | 52H | 114 | 72H | |||||||||
19 | 13H | 51 | 33H | 83 | 53H | 115 | 73H | |||||||||
20 | 14H | 52 | 34H | 84 | 54H | 116 | 74H | |||||||||
21 | 15H | 53 | 35H | 85 | 55H | 117 | 75H | |||||||||
22 | 16H | 54 | 36H | 86 | 56H | 118 | 76H | |||||||||
23 | 17H | 55 | 37H | 87 | 57H | 119 | 77H | |||||||||
24 | 18H | 56 | 38H | 88 | 58H | 120 | 78H | |||||||||
25 | 19H | 57 | 39H | 89 | 59H | 121 | 79H | |||||||||
26 | 1AH | 58 | 3AH | 90 | 5AH | 122 | 7AH | |||||||||
27 | 1BH | 59 | 3BH | 91 | 5BH | 123 | 7BH | |||||||||
28 | 1CH | 60 | 3CH | 92 | 5CH | 124 | 7CH | |||||||||
29 | 1DH | 61 | 3DH | 93 | 5DH | 125 | 7DH | |||||||||
30 | 1EH | 62 | 3EH | 94 | 5EH | 126 | 7EH | |||||||||
31 | 1FH | 63 | 3FH | 95 | 5FH | 127 | 7FH |
How to calculate checksum (Hexadecimal number is shown with H.)
Checksum is a value which lower 7 bit of the sum of address, size and checksum itself turns to be 0.
If the address of the system exclusive message to be transmitted is aa bb ccH and data or size is dd ee ffH,
aa+ bb + cc + dd + ee + ff = sum sum / 128 = quotient and odd When odd is 0, 0 = checksum
When odd is other than 0, 128 - odd = checksum
*Decimal values such as MIDI channel, bank select, and program change are listed as one (1) greater than the values given in the above table.
*A
51