Roland Groovebox MC-307 Mode D'emploi page 238

Table des Matières

Publicité

Equipement MIDI
Tableau des codes ASCII
+——————+——————+——————++——————+——————+——————++——————+——————+——————+
|
D
|
H
| Char ||
D
|
+——————+——————+——————++——————+——————+——————++——————+——————+——————+
|
32 |
20H |
SP
||
64 |
|
33 |
21H |
!
||
65 |
|
34 |
22H |
"
||
66 |
|
35 |
23H |
#
||
67 |
|
36 |
24H |
$
||
68 |
|
37 |
25H |
%
||
69 |
|
38 |
26H |
&
||
70 |
|
39 |
27H |
'
||
71 |
|
40 |
28H |
(
||
72 |
|
41 |
29H |
)
||
73 |
|
42 |
2AH |
*
||
74 |
|
43 |
2BH |
+
||
75 |
|
44 |
2CH |
,
||
76 |
|
45 |
2DH |
-
||
77 |
|
46 |
2EH |
.
||
78 |
|
47 |
2FH |
/
||
79 |
|
48 |
30H |
0
||
80 |
|
49 |
31H |
1
||
81 |
|
50 |
32H |
2
||
82 |
|
51 |
33H |
3
||
83 |
|
52 |
34H |
4
||
84 |
|
53 |
35H |
5
||
85 |
|
54 |
36H |
6
||
86 |
|
55 |
37H |
7
||
87 |
|
56 |
38H |
8
||
88 |
|
57 |
39H |
9
||
89 |
|
58 |
3AH |
:
||
90 |
|
59 |
3BH |
;
||
91 |
|
60 |
3CH |
<
||
92 |
|
61 |
3DH |
=
||
93 |
|
62 |
3EH |
>
||
94 |
|
63 |
3FH |
?
||
95 |
+——————+——————+——————++——————+——————+——————+
D: décimal
H: hexadécimal
Note) SP signifie "space."
Exemples de réels messages MIDI
<Exemple 1> 92 3E 5F
9n est le statut Note On, et n est 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, de numéro de note 62 (le nom de note
est ré4), et la dynamique de 95.
<Exemple 2> CE 49
CnH est le statut de changement de programme, et n est le numéro de canal MIDI. Comme
EH = 14 et 49H = 73, c'est un message de changement de programme sur le canal MIDI 10,
pour le programme 74.
<Exemple 3> EA 00 28
EnH est le staut de changement de Pitch Bend, et n est le numéro de canal MIDI. Le
deuxième octet (00H=0) est le LSB et le 3ème (28H=40) le MSB, mais la valeur de Pitch Bend
est une valeur avec signe (±) pour laquelle 40 00H ( = 64 x 128 + 0 = 8192) vaut 0, aussi cette
valeur de Pitch Bend est-elle
28 00H - 40 00H = 40 x 128 + 0 - (64 x 128 + 0) = 5120 - 8192 = -3072
Si la sensibilité au Pitch Bend est réglée à 2 demi-tons, -8192 (00 00H) donne un changement
de hauteur de -200 centièmes, aussi dans ce cas -200 x (-3072) ÷ (-8192) = -75 centièmes de
Pitch Bend s'applique au canal MIDI 7.
<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 est le numéro de canal MIDI. Le
deuxième octet est le numéro de commande, et le troisième la valeur. Dans le cas ou deux
messages consécutifs (ou plus) ont le même statut, le MIDI a prévu une simplification
nommée "running status" (statut en cours) qui évite la répétition de l'octet de statut pour les
messages suivants. Par conséquent, les messages ci-dessus ont la signification suivante.
B3 64 00
Canal MIDI 4, octet faible de RPN: 00H
(B3) 65 00
Canal MIDI 4, octet fort de RPN : 00H
(B3) 06 0C
Canal MIDI 4, octet fort de la valeur: 0CH
(B3) 26 00
Canal MIDI 4, octet faible de la valeur: 00H
(B3) 64 7F
Canal MIDI 4, octet faible de RPN : 7FH
(B3) 65 7F
Canal MIDI 4, octet fort de RPN : 7FH
En d'autres termes, les messages ci-dessus fixent une valeur de 0C 00H pour le RPN 00 00H
sur le canal 4, puis ramènent le RPN à 7F 7FH.
Le RPN 00 00H est la sensibilité au Pitch Bend, et le MSB donne la valeur en demi-tons,
aussi une valeur 0CH = 12 fixe-t-elle la variation de hauteur maximale à ± 12 demi-tons (1
octave).
Une fois le numéro de RPN ou NRPN spécifié, tous les messages d'entrée de donnée sur le
même canal MIDI seront pris en compte, aussi est-il préférable après transmission de la
valeur voulue d'envoyer un message 7F 7FH d'annulation de choix de RPN. Cela explique
206
H
| Char ||
D
|
H
| Char |
40H |
@
||
96 |
60H |
41H |
A
||
97 |
61H |
42H |
B
||
98 |
62H |
43H |
C
||
99 |
63H |
44H |
D
||
100 |
64H |
45H |
E
||
101 |
65H |
46H |
F
||
102 |
66H |
47H |
G
||
103 |
67H |
48H |
H
||
104 |
68H |
49H |
I
||
105 |
69H |
4AH |
J
||
106 |
6AH |
4BH |
K
||
107 |
6BH |
4CH |
L
||
108 |
6CH |
4DH |
M
||
109 |
6DH |
4EH |
N
||
110 |
6EH |
4FH |
O
||
111 |
6FH |
50H |
P
||
112 |
70H |
51H |
Q
||
113 |
71H |
52H |
R
||
114 |
72H |
53H |
S
||
115 |
73H |
54H |
T
||
116 |
74H |
55H |
U
||
117 |
75H |
56H |
V
||
118 |
76H |
57H |
W
||
119 |
77H |
58H |
X
||
120 |
78H |
59H |
Y
||
121 |
79H |
5AH |
Z
||
122 |
7AH |
5BH |
[
||
123 |
7BH |
5CH |
¥
||
124 |
7CH |
5DH |
]
||
125 |
7DH |
5EH |
^
|+——————+——————+——————+
5FH |
_
|
la présence de (B3) 64 7F (B3) 65 7F à la fin.
Il n'est pas souhaitable que des séquences (telles que les données Standard MIDI File)
contiennent de nombreuses données avec statut omis comme dans <Exemple 4>. En effet, si
la reproduction est interrompue en cours et suivie d'une avance ou d'un retour rapide, le
`
|
séquenceur peut ne pas être capable de transmettre le statut correct, et la source sonore
a
|
b
|
interprètera mal les données. Veillez à donner un statut à chaque élément.
c
|
d
|
e
|
Il est aussi nécessaire que le réglage de RPN ou NRPN et celui de valeur soient faits dans le
f
|
bon ordre. Sur certains séquenceurs, les événements placés sur le même coup d'horloge ou
g
|
h
|
«clic» (voire sur deux clics consécutifs) peuvent être émis dans un ordre différent de celui de
i
|
leur réception. Pour cette raison, il est préférable de légèrement espacer les événements
j
|
k
|
(d'environ 1 clic pour TPQN=96, et 5 clics pour TPQN=480).
l
|
m
|
n
|
* * TPQN : Ticks Per Quarter Note ou «clics par noire»
o
|
p
|
q
|
Exemples de messages exclusifs et calcul du
r
|
s
|
checksum
t
|
u
|
Les messages exclusifs Roland (RQ1, DT1) sont transmis avec un octet de vérification
v
|
w
|
(checksum) à la fin (avant F7) pour vérifier que le message a été correctement reçu. La
x
|
valeur de checksum est déterminée par l'adresse et les données (ou la taille) du message
y
|
z
|
exclusif transmis.
{
|
|
|
}
|
Comment calculer le checksum
Le checksum est une valeur dérivée de l'addition de l'adresse et des données puis de
l'inversion des 7 bits faibles.
Voici un exemple de calcul de checksum. Nous considèrerons que dans le message exclusif
que nous transmettons, l'adresse est 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 de REVERB TYPE sur HALL2 (DT1)
Le tableau d'adressage des paramètres indique que l'adresse de départ de Part Information
est 01 00 00 00H, et l'adresse offset de Part Information Common est 00 00H, et l'adresse de
REVERB TYPE est 00 28H. Donc l'adresse est :
01 00 00 00H
00 00H
+)
00 28H
01 00 00 28H
Comme HALL2 est la valeur 05H du paramètre,
F0
41
10
00H 0BH 12
(1)
(2)
(3)
(4)
(1) Statut exclusif
(2) Fabricant (Roland)
(4), (5) Modèle (MC-307) (6) Commande (DT1) (7) EOX
Maintenant calculons le checksum.
01H + 00H + 00H + 28H + 05H = 1 + 0 + 0 + 40 + 5 = 46(somme)
46 (total) / 128 = 0 (quotient)...46 (reste)
checksum = 128 - 46 (quotient) = 82 = 52H
Cela signifie que le message transmis est F0 41 10 00 0B 12 01 00 00 28 05 52 F7.
<Exemple 2> Demande de données de partie (RQ1)
Le tableau d'adressage des paramètres indique que l'adresse de départ de Part Information
est assignée comme suit.
01 00 00 00H
Part Info Common
01 00 10 00H
Part Info Partie 1
01 00 11 00H
Part Info Partie 2
01 00 16 00H
Part Info Partie 7
01 00 19 00H
Part Info Partie 10
Comme la taille de Part Information Part est 00 00 00 1AH, cette taille est ajoutée à l'adresse
de départ de Part Information Partie 16, pour obtenir :
01 00 1F 00H
+) 00 00 00 1AH
01 00 1F 1AH
Toutefois, la taille des données à obtenir est
01 00 00 28
05
(5)
(6)
adresse
donnée
(3) Unité (17)
??
F7
checksum
(7)

Publicité

Table des Matières
loading

Table des Matières