4. Annexes
● Tableau de correspondance entre 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 exclusifs
sont exprimées en notation hexadécimales par octets de 7 bits.
Le tableau suivant vous montre la correspondance entre les valeurs décimales et les valeurs
hexadécimales.
+——————+——————++——————+——————++——————+——————++——————+——————+
|
dec |
hex ||
dec |
hex ||
dec |
+——————+——————++——————+——————++——————+——————++——————+——————+
|
0 |
00H ||
32 |
20H ||
64 |
|
1 |
01H ||
33 |
21H ||
65 |
|
2 |
02H ||
34 |
22H ||
66 |
|
3 |
03H ||
35 |
23H ||
67 |
|
4 |
04H ||
36 |
24H ||
68 |
|
5 |
05H ||
37 |
25H ||
69 |
|
6 |
06H ||
38 |
26H ||
70 |
|
7 |
07H ||
39 |
27H ||
71 |
|
8 |
08H ||
40 |
28H ||
72 |
|
9 |
09H ||
41 |
29H ||
73 |
|
10 |
0AH ||
42 |
2AH ||
74 |
|
11 |
0BH ||
43 |
2BH ||
75 |
|
12 |
0CH ||
44 |
2CH ||
76 |
|
13 |
0DH ||
45 |
2DH ||
77 |
|
14 |
0EH ||
46 |
2EH ||
78 |
|
15 |
0FH ||
47 |
2FH ||
79 |
|
16 |
10H ||
48 |
30H ||
80 |
|
17 |
11H ||
49 |
31H ||
81 |
|
18 |
12H ||
50 |
32H ||
82 |
|
19 |
13H ||
51 |
33H ||
83 |
|
20 |
14H ||
52 |
34H ||
84 |
|
21 |
15H ||
53 |
35H ||
85 |
|
22 |
16H ||
54 |
36H ||
86 |
|
23 |
17H ||
55 |
37H ||
87 |
|
24 |
18H ||
56 |
38H ||
88 |
|
25 |
19H ||
57 |
39H ||
89 |
|
26 |
1AH ||
58 |
3AH ||
90 |
|
27 |
1BH ||
59 |
3BH ||
91 |
|
28 |
1CH ||
60 |
3CH ||
92 |
|
29 |
1DH ||
61 |
3DH ||
93 |
|
30 |
1EH ||
62 |
3EH ||
94 |
|
31 |
1FH ||
63 |
3FH ||
95 |
+——————+——————++——————+——————++——————+——————++——————+——————+
* Les valeurs décimales (pour exprimer par exemple les canaux MIDI, les numéros de
banque, les numéros de programmes, etc.) sont toujours une unité supérieure aux
valeurs listé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 qui nécessitent une plus grande résolution, vous avez besoin de 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 qui ont un signe ±, 00H = -64, 40H = ±0, et 7FH = +63 pour que
l'expression décimale corresponde à une valeur inférieure de 64 à celle listée 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 message "Use nibbled data" sont exprimées en hexadécimal
par groupes de 4 bits. Une valeur exprimée sous forme de 2 octets 0a 0bH a la valeur de
a x 16+b.
<Exemple 1> Quelle est la correspondance décimale de 5AH ?
En se reportant au tableau ci-dessus, 5AH = 90.
<Exemple 2> Quelle est la correspondance décimale de la valeur 12 34H donnée sous
forme hexadécimale (7 bits pour chaque octet) ?
D'après le tableau ci-dessus, 12H = 18 et 34H = 52. Par conséquent, 18 x 128 + 52 = 2356.
<Exemple 3> Correspondance décimale de la valeur de nybble 0A 03 09 0D
D'après le tableau ci-dessus, comme 0AH = 10, 03H = 3, 09H = 9, 0DH = 13,
la réponse est ((10 x 16 + 3) x 16 + 9) x 16 + 13 = 41885.
<Exemple 4> Quelle est la version nybble (4 bits) de la valeur décimale 1258 ?
____
16)1258
16)
78 ... 10
16)
4 ... 14
0 ...
4
D'après le tableau ci-dessus, comme 0=00H, 4=04H, 14=0EH, 10=0AH,
la réponse est 00 04 0E 0AH.
hex ||
dec |
hex |
40H ||
96 |
60H |
41H ||
97 |
61H |
42H ||
98 |
62H |
43H ||
99 |
63H |
44H ||
100 |
64H |
45H ||
101 |
65H |
46H ||
102 |
66H |
47H ||
103 |
67H |
48H ||
104 |
68H |
49H ||
105 |
69H |
4AH ||
106 |
6AH |
4BH ||
107 |
6BH |
4CH ||
108 |
6CH |
4DH ||
109 |
6DH |
4EH ||
110 |
6EH |
4FH ||
111 |
6FH |
50H ||
112 |
70H |
51H ||
113 |
71H |
52H ||
114 |
72H |
53H ||
115 |
73H |
54H ||
116 |
74H |
55H ||
117 |
75H |
56H ||
118 |
76H |
57H ||
119 |
77H |
58H ||
120 |
78H |
59H ||
121 |
79H |
5AH ||
122 |
7AH |
5BH ||
123 |
7BH |
5CH ||
124 |
7CH |
5DH ||
125 |
7DH |
5EH ||
126 |
7EH |
5FH ||
127 |
7FH |
●Exemple de message de System Exclusif (SysEx) et de
calcul de la Checksum
Les messages exclusifs système Roland (DT1) sont terminés par une Checksum (avant F7)
afin de garantir la bonne réception des messages. La valeur de cette Checksum est définie
par l'adresse et les données (ou la taille) du message exclusif transmis.
Calcul de la Checksum
(Les valeurs hexadécimales sont signalées par un H)
La Checksum est une valeur obtenue par l'addition des 7 bits inférieurs de l'adresse et de la
taille. La Checksum doit avoir une valeur de 0.
Exemple de calcul de la Checksum. Nous partons du principe que le message exclusif que
nous transmettons comporte l'adresse aa bb ccH et les données ou la taille dd ee ffH.
aa + bb + cc + dd + ee + ff = total (somme)
total / 128 = quotient et reste
Si le reste est égal à 0, 0 = Checksum
Si le reste est différent de 0, 128 - reste = Checksum
■Rappel
des
commandes,
d'informations 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
0DH MMC RESET
Réinitialisation
40H WRITE
Enregistrement sur les champs d'informations
41H MASKED WRITE
Réglage des champs d'informations de statut des pistes
44H 00H LOCATE I/F
LOCATE (placement sur un Locator)
44H 01H LOCATE TARGET
LOCATE (placement sur une position temporelle fixée)
4CH MOVE
Déplacement entre des champs d'informations
●Commandes transmises
Command
Action
01H STOP
Arrêt
03H DEFERRED PLAY
Lecture
06H RECORD STROBE
Enregistrement/Punch In
07H RECORD EXIT
Punch Out
0DH MMC RESET
Réinitialisation
44H 01H LOCATE TARGET
Recherche (LOCATE)
●Champs/réponses d'informations valides
Champs d'informations
Interprète
01H TIME CODE SÉLECTIONNÉ Pos. tête de lect. MOVE (de)
08H GP0 / POINT DE LOCATE
Locator 1
09H GP1
Locator 2
0AH GP2
Locator 3
0BH GP3
Locator 4
0CH GP4
Locator 5
0DH GP5
Locator 6
0EH GP6
Locator 7
0FH GP7
Locator 8
4FH ACTIV. PISTES EN ENREG. État des pistes
Fonctions MIDI
réponses/champs
Commandes valides
MOVE (de), MOVE (à), WRITE
MOVE (de), MOVE (à), WRITE
MOVE (de), MOVE (à), WRITE
MOVE (de), MOVE (à), WRITE
MOVE (de), MOVE (à), WRITE
MOVE (de), MOVE (à), WRITE
MOVE (de), MOVE (à), WRITE
MOVE (de), MOVE (à), WRITE
MASKED WRITE, WRITE
125