Implémentation MIDI
❍ Format 2 - LOCATE [TARGET]
Statut
Octets de données
F0H
7FH,Dev,06H,44H,06H,01H,hrH,mnH,scH,frH,ffH
Octet
Description
F0H
Statut du message SysEx
7FH
Entête temps réel du message SysEx universel
Dev
Device ID (ou 7FH)
06H
Message de commande MMC
44H
LOCATE (MCP)
06H
Nombre d'octets
01H
sous-commande "TARGET"
hrH, mnH, scH, frH, ffH
Heure standard avec Sub Frame
F7H
EOX (Fin de Message SysEx)
Si le device ID du message est le même que celui de l'appareil récepteur ou 7FH, le VS-1680
se place à la position temporelle sépciéifée, reçue de la commande.
Si une touche [LOC?] ou de Marqueur [PREVIOUS][NEXT] avec point mémorisé (effective)
est appuyée, le VS-1680 transmet en tant que device ID 7FH.
● MOVE
Statut
Octets de données
F0H
7FH,Dev,06H,4CH,02H,ddH,ssH
Octet
Description
F0H
Statut du message SysEx
7FH
Entête temps réel du message SysEx universel
Dev
Device ID (ou 7FH)
06H
Message de commande MMC
4CH
MOVE
02H
Nombre d'octets
ddH
Nom du champ d'Information effectif de destination
(08H,09H,0AH,0BH,0CH,0DH,0EH,0FH)
ssH
Nom du champ d'Information effectif Source
F7H
EOX (Fin de Message SysEx)
Si le device ID du message est le même que celui de l'appareil récepteur ou 7FH, le VS-1680
transfert les données du champ d'information source sélectionné vers le champ
d'information de destination, si le nom des deux champs d'information est effectif. Le VS-
1680 ne transmet pas ce message.
● Champ d'Information effectif
Voici la liste des champs d'Information effectifs du VS-1680.
Nom du champ d'information effectif de destination :
01H
SELECTED TIME CODE
08H
GP0 / LOCATE POINT
09H
GP1
0AH
GP2
0BH
GP3
0CH
GP4
0DH
GP5
0EH
GP6
0FH
GP7
4FH
TRACK RECORD READY
4. Annexes
● Tableau de conversion décimal/hexadécimal
(Les nombres hexadécimaux sont suivis d'un H.)
Dans la documentation MIDI, les valeurs de données et les adresses/tailles des messages
SysEx etc. sont exprimées en valeurs héxadecimales pour chacun des 7 bits. Le tableau ci-
dessous montre la correspondance avec les nombres décimaux.
³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³
_
GHF _
KH[ __
GHF _
KH[ __
³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³
_
_
+ __
_
+ __
_
_
+ __
_
+ __
_
_
+ __
_
+ __
_
_
+ __
_
+ __
_
_
+ __
_
+ __
_
_
+ __
_
+ __
_
_
+ __
_
+ __
_
_
+ __
_
+ __
_
_
+ __
_
+ __
_
_
+ __
_
+ __
_
_
$+ __
_
$+ __
_
_
%+ __
_
%+ __
_
_
&+ __
_
&+ __
_
_
'+ __
_
'+ __
_
_
(+ __
_
(+ __
_
_
)+ __
_
)+ __
56
Statut
F7H
Statut
F7H
(01H)
GHF _
KH[ __
GHF _
KH[ _
_
+ __
_
+ _
_
+ __
_
+ _
_
+ __
_
+ _
_
+ __
_
+ _
_
+ __
_
+ _
_
+ __
_
+ _
_
+ __
_
+ _
_
+ __
_
+ _
_
+ __
_
+ _
_
+ __
_
+ _
_
$+ __
_
$+ _
_
%+ __
_
%+ _
_
&+ __
_
&+ _
_
'+ __
_
'+ _
_
(+ __
_
(+ _
_
)+ __
_
)+ _
_
_
+ __
_
+ __
_
_
+ __
_
+ __
_
_
+ __
_
+ __
_
_
+ __
_
+ __
_
_
+ __
_
+ __
_
_
+ __
_
+ __
_
_
+ __
_
+ __
_
_
+ __
_
+ __
_
_
+ __
_
+ __
_
_
+ __
_
+ __
_
_
$+ __
_
$+ __
_
_
%+ __
_
%+ __
_
_
&+ __
_
&+ __
_
_
'+ __
_
'+ __
_
_
(+ __
_
(+ __
_
_
)+ __
_
)+ __
³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³
* Les valeurs décimales telles que canaux MIDI, bank select et program change sont
exprimées avec une unité de plus que les valeurs indiquées dans la colonne décimale.
* Un octet de 7 bits peut exprimer des données sur 128 pas. Pour les données nécesitant
une précision plus grande, il faut utiliser deux octets ou plus. Par exemple, deux
nombres hexadécimaux aa bbH exprimant deux octets de 7 bits pourront indiquer une
valeur de aa x 128 + bb.
* Dans le cas de valeurs avec un signe ±, 00H = -64, 40H = ±0 et 7FH = +63, afin que
l'expression décimale soit 64 moins la valeur donnée dans le tableau ci-dessust. Dans le
cas de deux types, 00 00H = -8192, 40 00H = ±0 et 7F 7FH = +8191.
* Les données intitulées "nibbled" sont exprimées en hexadécimal en unités de 4 bits. Un
valeur représentée par un nibble de 2 octet 0a 0bH aura une valeur de a x 16 + b.
<Ex.1> Que signifie 5AH en système décimal ?
5AH = 90 selon le tableau ci-dessus.
<Ex.2>Dans le système décimal à quoi correspond 12034H en hexadécimal sur 7 bits ?
12H = 18, 34H = 52 selon le tableau ci-dessus. Soit 18 x 128 + 52 = 2356.
<Ex.3> Dans le système décimal à quoi correspond 0A 03 09 0D en système nibble ?
0AH = 10, 03H = 3, 09H = 9, 0DH = 13 selon le tableau ci-dessus.
Soit ((10 x 16 + 3) x 16 + 9) x 16 + 13 = 41885.
<Ex. 4> Dans le système nibble à quoi correspond 1258 en système decimal ?
BBBBB
0 = 00H, 4 = 04H, 14 = 0EH, 10 = 0AH selon le tableau ci-dessus. Soit 00 04 0E 0AH.
● Exemple de messages SysEx et calcul de Checksum
Dans les messages de système exclusif Roland (DT1), une somme de contrôle ou checksum
est ajoutée à la fin des données transmises (en face de F7) pour vérifier que le message a été
reçu correctement. La valeur du checksum est définie par l'adresse et les données (ou taille)
du message SysEx à transmettre.
✧ Comment calculer le checksum (nombres Hexadécimaux indiqués par
un H)
La somme de contrôle (Checksum) est une valeur dans laquelle les 7 bits de poids faible, de
l'adresse, de la taille et la somme de contrôle elle-même doivent être égales à 0. Si le
message SysEx à transmettre est du type aa bb ccH et que les données sont du type dd ee
ffH,
aa + bb + cc + dd + ee + ff = sum
sum / 128 = quotient et rest
Si le reste est 0, 0 = checksum
Si le reste est différent de 0, 128 - reste = checksum
_
+ __
_
+ _
_
+ __
_
+ _
_
+ __
_
+ _
_
+ __
_
+ _
_
+ __
_
+ _
_
+ __
_
+ _
_
+ __
_
+ _
_
+ __
_
+ _
_
+ __
_
+ _
_
+ __
_
+ _
_
$+ __
_
$+ _
_
%+ __
_
%+ _
_
&+ __
_
&+ _
_
'+ __
_
'+ _
_
(+ __
_
(+ _
_
)+ __
_
)+ _