Implémentation MIDI
5. Annexes
● Tableau de correspondance entre les valeurs décimales et
hexadécimales
(Les valeurs hexadécimales sont signalées par un H)
Dans les documentations MIDI, les valeurs et les adresses/tailles des messages de System
Exclusive sont exprimées en notation hexadécimale par octet de 7 bits.
Le tableau suivant indique la correspondance entre valeurs décimales et hexadécimales :
+——————+——————++——————+——————++——————+——————++—————————————+
|
déc |
hex ||
déc |
hex ||
+——————+——————++——————+——————++——————+——————++——————+——————+
|
0 |
00H ||
32 |
20H ||
|
1 |
01H ||
33 |
21H ||
|
2 |
02H ||
34 |
22H ||
|
3 |
03H ||
35 |
23H ||
|
4 |
04H ||
36 |
24H ||
|
5 |
05H ||
37 |
25H ||
|
6 |
06H ||
38 |
26H ||
|
7 |
07H ||
39 |
27H ||
|
8 |
08H ||
40 |
28H ||
|
9 |
09H ||
41 |
29H ||
|
10 |
0AH ||
42 |
2AH ||
|
11 |
0BH ||
43 |
2BH ||
|
12 |
0CH ||
44 |
2CH ||
|
13 |
0DH ||
45 |
2DH ||
|
14 |
0EH ||
46 |
2EH ||
|
15 |
0FH ||
47 |
2FH ||
|
16 |
10H ||
48 |
30H ||
|
17 |
11H ||
49 |
31H ||
|
18 |
12H ||
50 |
32H ||
|
19 |
13H ||
51 |
33H ||
|
20 |
14H ||
52 |
34H ||
|
21 |
15H ||
53 |
35H ||
|
22 |
16H ||
54 |
36H ||
|
23 |
17H ||
55 |
37H ||
|
24 |
18H ||
56 |
38H ||
|
25 |
19H ||
57 |
39H ||
|
26 |
1AH ||
58 |
3AH ||
|
27 |
1BH ||
59 |
3BH ||
|
28 |
1CH ||
60 |
3CH ||
|
29 |
1DH ||
61 |
3DH ||
|
30 |
1EH ||
62 |
3EH ||
|
31 |
1FH ||
63 |
3FH ||
+——————+——————++——————+——————++——————+——————++——————+——————+
* Les valeurs décimales (exprimant les canaux MIDI, les numéros de banque, les numéros
de programmes, etc.) sont toujours une unité supérieure aux valeurs répertoriées dans le
tableau ci-dessus.
* Un octet de 7 bits permet d'exprimer des données sur une plage de 128 valeurs. Pour les
données nécessitant une plus grande résolution, il faut utiliser deux octets ou plus. Par
exemple, deux numéros hexadécimaux aa bbH qui expriment deux octets de 7 bits
indiquent une valeur de aa x 128 + bb.
* Dans le cas des valeurs précédées du signe +-, 00H = -64, 40H = +- 0 et 7FH = +63, de
sorte que l'expression décimale corresponde à une valeur inférieure de 64 à la valeur
figurant dans le tableau ci-dessus. Dans le cas de deux types, 00 00H = -8192, 40 00H = +-
0 et 7F 7FH = +8191.
* Les données signalées par le terme "nibbled" sont exprimées en valeur hexadécimale par
groupes de 4 bits. Une valeur exprimée sous forme de 2 octets 0a 0bH a la valeur de a x
16 + b.
<Ex.1> Quelle est la correspondance décimale de 5AH ?
D'après le tableau ci-dessus, 5AH = 90.
<Ex.2> Quelle est la correspondance décimale de la valeur 12034H donnée sous forme
hexadécimale (octet de 7 bits) ?
D'après le tableau ci-dessus, 12H = 18, 34H = 52 . Donc 18 x 128 + 52 = 2356.
<Ex.3> Quelle est la correspondance décimale de la valeur de nybble 0A 03 09 0D ?
D'après le tableau ci-dessus, 0AH = 10, 03H = 3, 09H = 9, 0DH = 13.
Par conséquent, ((10 x 16 + 3) x 16 + 9) x 16 + 13 = 41885.
<Ex. 4> Quelle est la version nybble de la valeur décimale 1258 ?
________
16)1258
16) 78 ... 10
16)
4 ... 14
0 ... 4
D'après le tableau ci-dessus, 0 = 00H, 4 = 04H, 14 = 0EH, 10 = 0AH.
La réponse est donc : 00 04 0E 0AH.
4
déc |
hex ||
déc |
hex |
64 |
40H ||
96 |
60H |
65 |
41H ||
97 |
61H |
66 |
42H ||
98 |
62H |
67 |
43H ||
99 |
63H |
68 |
44H ||
100 |
64H |
69 |
45H ||
101 |
65H |
70 |
46H ||
102 |
66H |
71 |
47H ||
103 |
67H |
72 |
48H ||
104 |
68H |
73 |
49H ||
105 |
69H |
74 |
4AH ||
106 |
6AH |
75 |
4BH ||
107 |
6BH |
76 |
4CH ||
108 |
6CH |
77 |
4DH ||
109 |
6DH |
78 |
4EH ||
110 |
6EH |
79 |
4FH ||
111 |
6FH |
80 |
50H ||
112 |
70H |
81 |
51H ||
113 |
71H |
82 |
52H ||
114 |
72H |
83 |
53H ||
115 |
73H |
84 |
54H ||
116 |
74H |
85 |
55H ||
117 |
75H |
86 |
56H ||
118 |
76H |
87 |
57H ||
119 |
77H |
88 |
58H ||
120 |
78H |
89 |
59H ||
121 |
79H |
90 |
5AH ||
122 |
7AH |
91 |
5BH ||
123 |
7BH |
92 |
5CH ||
124 |
7CH |
93 |
5DH ||
125 |
7DH |
94 |
5EH ||
126 |
7EH |
95 |
5FH ||
127 |
7FH |
Commandes MIDI Machine Control (MMC)
● Commandes reconnues
Commande
Action
01H STOP
ARRÊT
02H PLAY
LECTURE
03H DEFERRED PLAY
LECTURE
04H FAST FORWARD
AVANCE RAPIDE
05H REWIND
RETOUR RAPIDE
06H RECORD STROBE
ENREGISTREMENT/PUNCH IN
07H RECORD EXIT
PUNCH OUT
44H 01H LOCATE TARGET
LOCATE (placement sur une position temporelle définie)
● Commandes transmises
Commande
Action
01H STOP
ARRÊT
03H DEFERRED PLAY
LECTURE
06H RECORD STROBE
ENREGISTREMENT/PUNCH IN
07H RECORD EXIT
PUNCH OUT
44H 01H LOCATE TARGET
LOCATE (RECHERCHE)