6. Éléments supplémentaires
Exemples de messages MIDI courants
<Exemple 1> 92 3E 5F
9n est l'octet de statut «Note On» où «n» représente le numéro de canal MIDI . Comme 2H =
2, 3EH = 62 et 5FH = 95, ce message décrit une touche enfoncée, affectée au canal MIDI n°3
et de numéro de note 62 (soit ré 4 ou «D4») affectée d'une vélocité de 95.
<Exemple 2> C9 49
CnH est l'octet de statut «Program Change» où «n» représente le numéro de canal MIDI .
Comme EH = 14, et 49H = 73, ce message décrit un changement de programme sur le canal
MIDI n°15, appellant le son n°74.
<Exemple 3> EA 00 28
EnH est l'octet de statut «Pitch Bend Change» où «n» représente le numéro de canal MIDI.
Le deuxième octet (00H = 0) est l'octet de poids faible (LSB), et le troisième (28H = 40) l'octet
de poids fort (MSB), mais comme la valeur de pitch-bend varie dans les sens positif et
négatif avec une valeur centrale à 40 00H (= 64 x 12+80 = 8192) cette valeur est :
28 00H - 40 00H = 40 x 12+80 - (64 x 12+80) = 5120 - 8192 = -3072
Si la sensibilité du pitch-bend est réglée sur 2 demi-tons -8192 (00 00H) déplacera la hauteur
du son de -200 cents, et dans notre cas : -200 x (-3072) ÷ (-8192) = -75 cents sur le canal 11.
<Exemple 4> B3 64 00 65 00 06 0C 26 00 64 7F 65 7F
BnH est l'octet de statut «Control Change» où «n» représente le numéro de canal MIDI.
Dans ces messages, le deuxième octet détermine le numéro de contrôle et le troisième son
amplitude. Quand plusieurs messages consécutifs ont le même statut, le standard MIDI
prévoit un mode «running Statut» qui permet de le sous-entendre et de ne ne pas le répéter.
Le message ci-dessus signifie donc :
B3 64 00
MIDI ch.4, octet faible du numéro de paramètre RPN :
(B3) 65 00
(MIDI ch.4) octet fort du numéro de paramètre RPN :
(B3) 06 0C
(MIDI ch.4) octet fort de la valeur du paramètre :
(B3) 26 00
(MIDI ch.4) octet faible de la valeur du paramètre :
(B3) 64 7F
(MIDI ch.4) octet faible du numéro de paramètre RPN :
(B3) 65 7F
(MIDI ch.4) octet fort du numéro de paramètre RPN :
Exemples de messages système exclusif et
calcul du Checksum
Les messages Système exclusif Roland (RQ1, DT1) sont transmis avec un checksum (total) à la fin
de l'envoi des données (avant F7) pour vérifier leur bonne transmission. La valeur du checksum
est déterminée par l'adresse et les données (ou la taille) du message système exclusif.
Comment calculer le checksum
Le checksum est une valeur dont les 7 bits les plus faibles sont des 0 quand l'adresse, la
taille et le checksum lui-même lui sont ajoutés. La formule suivante montre comment
calculer le checksum quand le message exclusif à transmettre a une adresse : aa bb cc ddH et
une taille de données : ee ffH.
aa + bb + cc + dd + ee + ff = total
total ÷ 128 = quotient ... reste
128 - reste = checksum
<Exemple 1> Paramétrage de REVERB TYPE sur HALL2 (DT1)
Selon la «Table d'adresse des paramètres», l'adresse de départ des informations de Part
(Part Information) est 01 00 00 00H, l'adresse d'offset de «Part Information Common» est 00
00H, et l'adresse de REVERB TYPE est 00 28H. Notre adresse sera donc au total :
01 00 00 00H
00 00H
+)
00 28H
01 00 00 28H
Comme la valeur de paramètre HALL2 est 05H :
F0
41
10
00H
0BH
12
01 00 00 28
(1)
(2)
(3)
(4)
(5)
(6)
adresse
(1) Début de message système exclusif (2) ID (Roland)
(4), (5) model ID (D2)
(6)command ID (DT1)
Calculons maintenant le checksum manquant :
01H + 00H + 00H + 28H + 05H = 1 + 0 + 0 + 40 + 5 = 46 (total)
00H
00H
0CH
00H
7FH
7FH
05
??
F7
données checksum(7)
(3) Device ID (17)
(7) Fin de SysEx (EOX)
Implémentation MIDI
46 (total) ÷ 128 = 0 (quotient)...46 (reste)
checksum = 128 - 46 (quotient) = 82 = 52H
Et le message final est donc : F0 41 10 00 0B 12 01 00 00 28 05 52 F7.
<Exemple 2> Récupération des données de Part (RQ1)
Selon la «Table d'adresse des paramètres», l'adresse de départ des informations de Part
(Part Information) est :
01 00 00 00H
Part Info Common
01 00 10 00H
Part Info Part 1
01 00 11 00H
Part Info Part 2
01 00 16 00H
Part Info Part 7
01 00 19 00H
Part Info Part R
Comme la taille (size) de «Part Information Part» est 00 00 00 1AH, cette taille est ajoutée à
l'adresse de départ de «Part Information Part R» pour obtenir :
01 00 19 00H
+) 00 00 00 1AH
01 00 19 1AH
La taille (size) des données à récupérées est donc :
01 00 19 1AH
-) 01 00 00 00H
00 00 19 1AH
F0
41
10
00
0B
11
01 00 00 00
(1)
(2)
(3)
(4)
(5)
(6)
adresse
(1) Début de message système exclusif (2) ID number (Roland) (3) Device ID (17)
(4), (5) Model ID (D2D2)
(6) Command ID (RQ1)
Après calcul du checksum de la même manière que dans <Exemple 2>, le message à
transmettre sera : F0 41 10 00 0B 11 01 00 00 00 00 00 19 1A 4C F7.
Fonction d'accordage microtonal
(GS), adresse : 40 1x 40H)
La fonction d'accordage microtonal «scale Tune» permet de régler individuellement
l'accord de chacune des notes de la gamme chromatique, de do à si. Bien que ces réglages ne
se fassent qu'au sein d'une octave, ils se répercutent sur toutes les octaves. Cette fonction
vous permet d'aborder d'autres types de musiques, comme dans les exemples ci-après :
Tempérament égal
cette méthode, qui divise l'octave en 12 intervalles égaux, est la formule d'accordage la plus
courante en musique occidentale actuelle. Sur le D2, c'est le réglage par défaut.
Tempérament juste (gamme de do )
Dans ce tempérament, les tierces
sont beaucoup plus «claires» et justes, mais ne
fonctionnent que dans la tonalité spécifiée. Si vous transposez votre morceau, les accords
deviendront ambigus. L'exemple ci-dessous est réglé sur une fondamentale de do.
Gamme arabe
L'accordage microtonal donne accès à des tempéraments adaptés à diverses musiques
ethniques. Les réglages ci-dessous correspondent à des musiques arabes
Exemples de réglages
Noms de note
Tempérament égal
Tempérament juste (gamme de do) Gamme arabe
C (do)
0
C# (do #)
0
D (ré)
0
Eb (mi b)
0
E (mi)
0
F (fa)
0
F# (fa #)
0
G (sol)
0
G# (sol #)
0
A (la)
0
Bb (si b)
0
B (si)
0
Les valeurs de la table sont données en «cents» (centièmes de demi-ton). Convertissez-les en
valeurs hexadécimales et transmettez-les sous forme de messages système exclusif.
Par exemple, pour régler les différentes hauteurs de son de la gamme arabe, vous devrez
envoyer le message suivant :
F0 41 10 42 12 40 11 40 3A 6D 3E 34 0D 38 6B 3C 6F 40 36 0F 76 F
00 00 19 1A
??
F7
données
checksum
(7)
(7) Fin de SysEx (EOX)
(Model ID : 42H
0
-6
-8
+45
+4
-2
+16
-12
-14
-51
-2
-8
-10
+43
+2
-4
+14
+47
-16
0
+14
-10
-12
-49
107