Roland RD-600 Mode D'emploi page 72

Table des Matières

Publicité

G Exemples de réels messages MIDI
<Exemple 1> 92 3E 5F
9n est le statut Note-on et n le numéro de canal MIDI. Comme 2H = 2, 3EH = 62, et 5FH =
95, C'est un message Note-on sur le canal MIDI 3 pour la note 62 (ré4) avec une
dynamique de 95.
<Exemple 2> CE 49
CnH est le statut de changement de programme et n le numéro de canal MIDI. Comme
EH = 14 et 49H = 73, c'est un message de changement de programme sur le canal MIDI
15, avec le numéro de programme 74 (B22:SA E.Grand 2 pour le RD-600).
<Exemple 3> EA 00 28
EnH est le statut de changement de pitch bend et n ile numéro de canal. Le deuxième octet
(00H = 0) est l'octet de poids faible ou LSB et le troisème octet (28H = 40) est l'octet de
poids fort ou MSB. Toutefois, comme le pitch bend est une valeur avec signe dont le 0 est
40 00H (= 64 x 128 + 0 = 8192), la valeur de pitch bend dans ce cas est
28 00H - 40 00H = 40 x 128 + 0 - (64 x 128 + 0) = 5120 - 8192 = -3072
Si nous considérons que la sensibilité au pitch bend est réglée sur deux demi-tons, la
hauteur ne change que de -200 centièmes pour une valeur de -8192 (00 00H). Donc, ce
message demande une variation de hauteur de -200 x (-3072) / (-8192) = -75 centièmes sur
le canal MIDI 11.
<Exemple 4> B3 64 00 65 00 06 0C 26 00 64 7F 65 7F
BnH est le statut de changement de commande et n le numéro de canal MIDI. Dans les
messages de changement de commande, le deuxième octet est le numéro de commande et
le troisème la vakeur du paramètre. Le MIDI autorisant un "running status" (statut en
cours), c'est-à-dire que des messages de même statut se suivent, il est permis pour les
messages suivants d'omettre l'octet de statut. Dans le message ci-dessus, cette possibilité
est utilisée, ce qui signifie que le message a le contenu suivant.
B3
64 00
Canal MIDI =4, N° de paramètre RPN (LSB)
(B3) 65 00 Canal MIDI =4, N° de paramètre RPN (MSB)
(B3) 06 0C Canal MIDI =4, Valeur du paramètre RPN (MSB)
(B3) 26 00 Canal MIDI =4, Valeur du paramètre RPN (LSB)
(B3) 64 7F Canal MIDI =4, N° de paramètre RPN (LSB)
(B3) 65 7F Canal MIDI =4, N° de paramètre RPN (MSB)
Donc, ce message transmet une valeur de paramètre 0C 00H au paramètre numéro 00 00H
sur le canal MIDI 4, puis fixe le numéro de paramètre RPN à 7F 7FH.
La fonction assignée au paramètre RPN 00 00H est la sensibilité au pitch bend et le MSB
de la valeur de paramètre représente des demi-tons. Comme le MSB de ce paramètre a
une valeur de 0CH = 12, l'amplitude maximale du pitch bend est fixée à ±12 demi-tons (1
octave). (Sur le RD-600 les sources sonores ignorent le LSB de sensibilité au pitch bend,
mais il est cependant préférable de transmettre le LSB (valeur 0) pour que le message
puisse être correctement reçu par tout appareil.)
Une fois le numéro de RPN ou NRPN fixé, tous les messages ultérieurs d'entrée de
donnée sur le même canal seront pris en compte. Il est donc recommandé après avoir fait
le changement souhaité, de régler le numéro de paramètre sur 7F 7FH (réglage virege).
C'est l'objet de la dernière partie du message (B3) 64 7F (B3) 65 7F at the end.
Il n'est pas souhaitable de stocker de nombreux événements utilisant le running status au
cœur des données d'un morceau comme expliqué en <Exemple 4>. Quand on met en
pause, avance ou revient en arrière, le séquenceur peut être incapable d'envoyer le bon
statut, entraînant une mauvaise interprétation par la source sonore. Il est préférable
d'associer le bon octet de statut à chaque événement.
Il est aussi important de transmettre dans le bon ordre les réglages de numéro de
paramètres RPN ou NRPN et les valeurs de paramètre. Avec certains séquenceurs, les
données enregistrées sur le même coup d'horloge (ou sur un coup adjacent) peuvent être
transmises dans un ordre différent de l'ordre d'enregistrement. Il est donc préférable de
laisser un intervalle approprié entre ces événements (1 coup pour 96 divisions par noire
ou 5 pour 480 divisions par noire).
72
G Exemples de messages exclusifs et calcul de
checksum
Les messages exclusifs Roland (RQ1, DT1) sont transmis avec un checksum (octet de
vérification) à la fin des données (avant F7) pour contrôler que les données ont été
correctement reçues. La valeur de checksum est déterminée par l'adresse et les données
(taille) du message exclusif.
" Comment calculer le checksum (les valeurs hexadécimales sont indiquées
par un 'H')
Le checksum est une valeur qui donne un résultat dont les 7 bits faibles sont 0 quand on
l'additionne à l'adresse et à la taille.
La formule suivante montre comment calculer le checksum quand le message exclusif à
transmettre a une adresse aa bb cc ddH et des données ou une taille ee ff gg hhH.
aa + bb + cc + dd + ee + ff + gg + hh = total
total / 128 = quotient ... reste
128 - reste = checksum
<Exemple 1> Réglage du paramètre "Effect Reverb type" de "Temporary" sur
"ROOM1" (DT1).
Le tableau des adresses de paramètres indique que l'adresse de départ de Temporary est
01 00 00 00H, que l'adresse offset du paramètre Effect est 30 00H, et que l'adresse de
"Reverb type" est 00H. Donc l'adresse est:
01 00 00 00H
+)
01 00 30 00H
Comme "ROOM1" est la valeur 00H du paramètre,
F0
: 00H
(1)
: 00H
: 0CH
(1) Statut exclusif
: 00H
(4) Modèle (RD-600)
: 7FH
: 7FH
Ensuite, nous calculerons le checksum.
01H + 00H + 30H + 00H + 00H = 1 + 0 + 48 + 0 + 0 = 49(somme)
49 (total) ÷ 128 = 0 (quotient) ... 49 (reste)
checksum = 128 - 49 (quotient) = 79 = 4FH
Cela signifie que le message transmis sera F0 41 10 00 09 12 01 00 30 00 00 4F F7.
<Exemple 2> Retourver les données pour le paramètre Temporary
Rx.Part2 (RQ1)
Le tableau des adresses de paramètres indique que l'adresse de départ de 01 00 00 00H, et
que l'adresse offset du paramètre Rx.Part2 est 20 01H.
Donc l'adresse est:
01 00 00 00H
+)
01 00 20 01H
Comme la taille de la partie est 00 00 00 09H,
F0
(1)
(1) Statut exclusif
(4) Modèle (RD-600)
Ensuite, nous calculerons le checksum.
01H + 00H + 20H + 01H + 00H + 00H + 00H + 09H =
1 + 0 + 32 + 1 + 0 + 0 + 0 + 9 = 43(somme)
43(total) ÷ 128 = 0(product) ... 43(reste)
checksum = 128 - 43(reste) = 85 = 55H
Cela signifie que le message transmis sera F0 41 10 00 09 11 01 00 20 01 00 00 00 09 55 F7.
30 00H
00H
41
10
00 09 12
01 00 30 00
(2)
(3)
(4)
(5)
addresse
donnée checksum
(2) Fabricant (Roland)
(5) Commande (DT1)
20 01H
41
10
00 09 11
01 00 20 01
00 00 00 09
(2)
(3)
(4)
(5)
addresse
(2) Fabricant (Roland)
(5) Commande (DT1)
000
??
F7
(6)
(3) Unité (17)
(6) EOX
??
F7
taille
checksum
(6)
(3) Unité (17)
(6) EOX

Publicité

Table des Matières
loading

Table des Matières