Roland JV-1010 Mode D'emploi page 86

Table des Matières

Publicité

Fonctions MIDI
■ Exemples de messages MIDI
<Exemple 1> 92 3E 5F
9n correspond au statut de Note-on et n au numéro de canal MIDI. Comme 2H = 2, 3EH =
62 et 5FH = 95, il s'agit d'un message de Note-on sur le canal MIDI 3, note n°62 (C4) de
vélocité 95.
<Exemple 2> CE 49
CnH correspond au statut de Program Change et n au numéro de canal MIDI. Comme EH =
14 et 49H = 73, il s'agit d'un message de Program Change sur le canal MIDI 15, Programme
n°74 (Flute en GS).
<Exemple 3> EA 00 28
EnH correspond au statut du paramètre Pitch Bend Change et au numéro de canal MIDI. Le
2ème octet (00H = 0) est le LSB et le 3ème octet (28H = 40) est le MSB, mais la valeur de Pitch
Bend est un numéro à signe dont 40 00H (= 64 x 128+0 = 8192) est de 0. Ainsi la valeur du
Pitch Bend est de : 28 00H - 40 00H = 40 x 128+0 - (64 x 128+0) = 5120 - 8192 = -3072.
Si nous considérons que la sensibilité de Pitch Bend est réglée sur 2 demi-tons, la variation
de hauteur sera de -200 centièmes pour une valeur de Bend de -8192 (00 00H). Ainsi, ce
message spécifie une valeur de Bend de -200 x (-3072) / (-8192) = -75 centièmes sur le canal
MIDI n° 11.
<Exemple 4> B3 64 00 65 00 06 0C 26 00 64 7F 65 7F
BnH correspond au statut de Control Change et «n» correspond au n° de canal MIDI.
Dans les messages de Control Change, le 2ème octet correspond au numéro de contrôleur,
et le 3ème octet correspond à la valeur du paramètre. La norme MIDI utilise des "running
statut" : si des messages de même statut se suivent, il est permis d'omettre le deuxième
octet de statut et les suivants. Dans les messages ci-dessus, le running statut est utilisé, ce
qui signifie que le message possède le contenu suivant.
Si vous réglez la sensibilité du Pitch Bend (paramètre Pitch Bend Sensitivity) sur 2 demi-
tons, la valeur -8192 (00 00H) va faire varier la hauteur sur -200 centièmes. Alors, dans ce cas
-200 x (-3072) ∏ (-8192) = -75 centièmes du Pitch Bend qui est appliqué au canal MIDI 11.
<Exemple 4> B3 64 00 65 00 06 0C 26 00 64 7F 65 7F
BnH correspond au statut de Control Change et n au numéro de canal MIDI. Pour les
messages de Control Change, le 2ème octet correspond au numéro de contrôleur et le 3ème
octet à sa valeur. Si deux ou plusieurs messages consécutifs ont le même statut, le MIDI
dispose d'une fonction intitulée "running status" qui permet de ne pas répéter l'octet de
statut du deuxième message et des suivants. Ainsi, les messages ci-dessus ont le sens
suivant :
B3
64 00
canal MIDI 4, octet inférieur du n° de RPN : 00H
(B3)
65 00
(canal MIDI 4) octet supérieur du n° de RPN : 00H
(B3)
06 0C
(canal MIDI 4) octet supérieur de la valeur du RPN : 0CH
(B3)
26 00
(canal MIDI 4) octet inférieur de la valeur du RPN : 00H
(B3)
64 7F
(canal MIDI 4) octet inférieur du n° de RPN : 7FH
(B3)
65 7F
(canal MIDI 4) octet supérieur du n° de RPN : 7FH
Autrement dit, les messages ci-dessus indiquent qu'une valeur de 0C 00H a été transmise
pour le RPN n°00 00H sur le canal MIDI 4, puis que le paramètre RPN n°7F 7FH a été
sélectionné.
Le RPN n°00 00H sélectionne le paramètre Pitch Bend Sensitivity (sensibilité du pitch bend)
et la valeur du MSB fixe le nombre de demi-tons désiré. Ainsi, une valeur de 0CH = 12 règle
le pitch bend sur sa plage d'action maximale de ±12 demi-tons (1 octave). Sur les modules
de sons GS, le LSB du paramètre de réglage de la sensibilité du Pitch Bend est ignoré, mais il
est tout de même nécessaire de le transmettre (avec la valeur 0) pour que l'opération se
déroule correctement.
Une fois que vous avez sélectionné le numéro de RPN ou NRPN désiré, tous les messages
de Data Entry transmis sur le canal correspondant sont pris en compte. Par conséquent,
pensez toujours à sélectionner le paramètre sur 7F 7FH une fois que vous avez fait les
réglages désirés pour éviter toute mauvaise surprise. C'est la raison pour laquelle on trouve
le (B3) 64 7F (B3) 65 7F à la fin.
Il est préférable de ne pas trop charger vos séquences (Stantard MIDI File, par exemple)
d'événements faisant appel à la fonction Running Status (voir <Exemple 4>) parce que si la
lecture est interrompue en cours de morceau, puis ramenée vers le début ou avancée, le
séquenceur risque de ne pas pouvoir transmettre le bon statut, et le module de sons risque
de ne pas interpréter correctement les données. Essayez dans la mesure du possible de
donner à chaque événement son propre statut.
N'oubliez pas non plus de bien transmettre les valeurs des RPN ou NRPN dans le bon
ordre. Certains séquenceurs ne transmettent pas les événements dans lesquels ils ont été
enregistrés. Il est préférable de les enregistrer à un intervalle approprié (1 tick à une
résolution de 96 à la noire ou 5 ticks à une résolution de 480 à la noire).
86
■ Exemples de messages de System Exclusif et de
calcul de la Checksum
Les messages Exclusifs Roland (RQ1, DT1) sont terminés par une checksum à la fin (avant
F7) pour garantir une 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 de l'adresse, de la taille et de la
checksum elle-même et en inversant les 7 bits de l'octet inférieur LSB.
Voici un 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
total / 128 = quotient ... reste
128 - reste = checksum
<Exemple 1> Réglage du paramètre Performance Common REVERB TYPE sur
DELAY (DT1)
D'après le "Tableau des adresses des paramètres", l'adresse de début de la Performance
temporaire est 01 00 00 00H, l'adresse de décalage Performance Common est 00 00H, et
l'adresse REVERB TYPE est 00 28H. Par conséquent :
01 00 00 00H
00 00H
+)
00 28H
01 00 00 28H
Comme DELAY correspond à la valeur de paramètre 06H,
F0
41
10
6A
12
(1)
(2)
(3)
(4)
(5)
(1) Statut exclusif
(2) n° ID (Roland)
(4) ID modèle (JV-1010)
(5) ID commande (DT1)
Calculons à présent la checksum.
01H + 00H + 00H + 28H + 06H = 1 + 0 + 0 + 40 + 6 = 47 (somme)
47 (total) / 128 = 0 (quotient) ... 47 (reste)
checksum = 128 - 47 (quotient) = 81 = 51H
Il faut donc transmettre le message F0 41 10 6A 12 01 00 00 28 06 51 F7.
<Exemple 2> Requête de transmission des réglages de la Partie 3 de la Performance
USER:03 (RQ1)
D'après le "Tableau des adresses des paramètres", l'adresse de début de USER:03 est 10 02
00 00H et l'adresse de décalage de la Partie 3 de la Performance est 12 00H. Par conséquent :
10 02 00 00H
+)
12 00H
10 02 12 00H
Comme la taille de la Partie de la Performance est 00 00 00 19H,
F0
41
10
6A
11
(1)
(2)
(3)
(4)
(5)
(1) Statut exclusif
(2) n° ID (Roland)
(4) ID de modèle (JV-1010) (5) ID de commande (RQ1)
Passons à présent au calcul de la checksum.
10H + 02H + 12H + 00H + 00H + 00H + 00H + 19H =
16 + 2 + 18 + 0 + 0 + 0 + 0 + 25 = 61 (somme)
61 (total) / 128 = 0 (produit) ... 61 (reste)
checksum = 128 - 61 (reste) = 67 = 43H
Il faudra donc transmettre le message F0 41 10 6A 11 10 02 12 00 00 00 00 19 43 F7.
01 00 00 28
06
??
adresse
données
checksum
(3) n° ID d'appareil (17)
(6) Fin de message exclusif
10 02 12 00
00 00 00 19
??
adresse
taille
checksum
(3) n° ID d'appareil (17)
(6) Fin de message exclusif
F7
(6)
F7
(6)

Publicité

Table des Matières
loading

Table des Matières