Descargar Imprimir esta página

Material Suplementario; Ejemplos De Mensajes Midi Reales - Roland Fanton XR Manual Del Propietário

Publicidad

I I I I m m m m p p p p l l l l e e e e m m m m e e e e n n n n t t t t a a a a c c c c i i i i ó ó ó ó n n n n M M M M I I I I D D D D I I I I

4. Material Suplementario

Tabla Decimal Hexadecimal
(En notación hexadecminal se añade una "H" al final de cada número).
En documentación MIDI, los valores y direcciones/tamaños de los mensajes Exclusive, etc.
se expresarán como valores hexadecimal para cada 7 bits.
La siguiente tabla muestra cómno estos corresponden a los números decimales.
+——————+——————++——————+——————++——————+——————++——————+——————+
|
D
|
H
||
D
|
H
||
D
+——————+——————++——————+——————++——————+——————++——————+——————+
|
0 |
00H ||
32 |
20H ||
64 |
|
1 |
01H ||
33 |
21H ||
65 |
|
2 |
02H ||
34 |
22H ||
66 |
|
3 |
03H ||
35 |
23H ||
67 |
|
4 |
04H ||
36 |
24H ||
68 |
|
5 |
05H ||
37 |
25H ||
69 |
|
6 |
06H ||
38 |
26H ||
70 |
|
7 |
07H ||
39 |
27H ||
71 |
|
8 |
08H ||
40 |
28H ||
72 |
|
9 |
09H ||
41 |
29H ||
73 |
|
10 |
0AH ||
42 |
2AH ||
74 |
|
11 |
0BH ||
43 |
2BH ||
75 |
|
12 |
0CH ||
44 |
2CH ||
76 |
|
13 |
0DH ||
45 |
2DH ||
77 |
|
14 |
0EH ||
46 |
2EH ||
78 |
|
15 |
0FH ||
47 |
2FH ||
79 |
|
16 |
10H ||
48 |
30H ||
80 |
|
17 |
11H ||
49 |
31H ||
81 |
|
18 |
12H ||
50 |
32H ||
82 |
|
19 |
13H ||
51 |
33H ||
83 |
|
20 |
14H ||
52 |
34H ||
84 |
|
21 |
15H ||
53 |
35H ||
85 |
|
22 |
16H ||
54 |
36H ||
86 |
|
23 |
17H ||
55 |
37H ||
87 |
|
24 |
18H ||
56 |
38H ||
88 |
|
25 |
19H ||
57 |
39H ||
89 |
|
26 |
1AH ||
58 |
3AH ||
90 |
|
27 |
1BH ||
59 |
3BH ||
91 |
|
28 |
1CH ||
60 |
3CH ||
92 |
|
29 |
1DH ||
61 |
3DH ||
93 |
|
30 |
1EH ||
62 |
3EH ||
94 |
|
31 |
1FH ||
63 |
3FH ||
95 |
+——————+——————++——————+——————++——————+——————++——————+——————+
D: decimal
H: hexadecimal
* Los valores decimales como canales MIDI, bank select, y program change se listan con
un valor superior en 1 al valor dado en la tabla anterior.
* Un byte de 7-bits puede expresar datos de 128 pasos. Para datos que requieran mayor
precisión,es necsario usar 2 o más bytes. Por ejemplom dos números hexadecimales aa
bbH que expresen bytes de 7-bits indicarán un valor de aa x 128+bb.
* En el caso de los valores que tengan un símbolo +/-, 00H = -64, 40H = +/-0, y 7FH = +63,
que convierta la expresión decimal en 64 inferior a la tabla anterior. En el caso de los dos
tipos, 00 00H = -8192, 40 00H = +/-0, y 7F 7FH = +8191. Por ejemplo, si aa bbH se
expresan como decimales, su valor sería aa bbH - 40 00H = aa x 128+bb - 64 x 128.
* Los datos marcados "Use nibbled data" se expresan en hexadecimal enunidades de 4-
bits. Un valor expresado como 2-byte nibble 0a 0bH tiene el valor de a x 16+b.
<Ejemplo 1> Cuál es la expresión decimal de 5AH?
De la tabla anterior, 5AH = 90
<Ejemplo 2> Cuál es la expresión decimal del valor 12 34H dado como
hexadecimal para cada 7 bits?
De la tabla anterior, desde 12H = 18 y 34H = 52
18 x 128+52 = 2356
<Ejemplo 3> Cuál es la expresión decimal del valor 0A 03 09 0D?
De la tabla anterior, desde0AH = 10, 03H = 3, 09H = 9, 0DH = 13
((10 x 16+3) x 16+9) x 16+13 = 41885
<Ejemplo 4> Cuál es la expresión del valor decimal del valor 1258?
16 ) 1258
16 )
78 ...10
16 )
4 ...14
0 ... 4
De la tabla anterior, 0 = 00H, 4 = 04H, 14 = 0EH, 10 = 0AH, el resultado es: 00 04 0E 0AH.
2 2 2 2 6 6 6 6 8 8 8 8
|
H
||
D
|
H
|
40H ||
96 |
60H |
41H ||
97 |
61H |
42H ||
98 |
62H |
43H ||
99 |
63H |
44H ||
100 |
64H |
45H ||
101 |
65H |
46H ||
102 |
66H |
47H ||
103 |
67H |
48H ||
104 |
68H |
49H ||
105 |
69H |
4AH ||
106 |
6AH |
4BH ||
107 |
6BH |
4CH ||
108 |
6CH |
4DH ||
109 |
6DH |
4EH ||
110 |
6EH |
4FH ||
111 |
6FH |
50H ||
112 |
70H |
51H ||
113 |
71H |
52H ||
114 |
72H |
53H ||
115 |
73H |
54H ||
116 |
74H |
55H ||
117 |
75H |
56H ||
118 |
76H |
57H ||
119 |
77H |
58H ||
120 |
78H |
59H ||
121 |
79H |
5AH ||
122 |
7AH |
5BH ||
123 |
7BH |
5CH ||
124 |
7CH |
5DH ||
125 |
7DH |
5EH ||
126 |
7EH |
5FH ||
127 |
7FH |

Ejemplos de Mensajes MIDI reales

<Ejemplo 1> 92 3E 5F
9n es el estado Note-on, y n es el número de canal MIDI. Ya que 2H = 2, 3EH = 62, y 5FH =
95, se trata de un mensaje Note-on con MIDI CH = 3, número de nota 62 (nombre de la nota
D4), y velocity 95.
<Ejemplo 2> CE 49
CnH es el estado Program Change, y n es el número de canal MIDI. Si EH = 14 y 49H = 73,
este es un mensaje Program Change con MIDI CH = 15, número de programa 74.
<Ejemplo 3> EA 00 28
EnH es el estado Pitch Bend Change, y n es el número de canal MIDI. El 2º byte (00H = 0)
es el LSB y el 3er byte (28H = 40) es el MSB, pero el valor Pitch Bend Value es un número
establecido en que 40 00H (= 64 x 12+80 = 8192) es 0, por tanto este valor Pitch Bend es
28 00H - 40 00H = 40 x 12+80 - (64 x 12+80) = 5120 - 8192 = -3072
Si la sensibilidad Pitch Bend Sensitivity se ajusta en 2 semitonos, -8192 (00 00H) provocará
un cambio de afinación de -200 centésimas, por tanto en este caso -200 x (-3072) é÷ (-8192) =
-75 centésimas de cambio de afinación se aplicarán al canal MIDI 11.
<Ejemplo 4> B3 64 00 65 00 06 0C 26 00 64 7F 65 7F
BnH es el estado Control Chang , y n es el número de canal MIDI. Para cambios de control
Changes, el 2º byte es el número de control, y el 3er byte es el valor. En un caso en que dos o
más mensajes consecutivos tengan el mismo estado, MIDI consta de una provisión lamada
"running state" que permite omitir el byte de estado del segundo mensaje y posteriores. Por
tanto los mensajes superiores tienen el siguiente significado.
B3
64 00
MIDI ch.4, bit inferior número de parámetro RPN:
(B3)
65 00
(MIDI ch.4) bit superior número de parámetro RPN:
(B3)
06 0C
(MIDI ch.4) bit superior valor del parámetro:
(B3)
26 00
(MIDI ch.4) bit inferior valor del parámetro:
(B3)
64 7F
(MIDI ch.4) bit inferior número de parámetro RPN:
(B3)
65 7F
(MIDI ch.4) bit superior número de parámetro RPN:
En otras palabras, los mensajes anteriores especifican un valor de 0C 00H para los números
de parámetros RPN 00 00H en el canal MIDI 4, y ajustan el número de parámetro en 7F 7FH.
El número de parámetro RPN 00 00H es Pitch Bend Sensitivity, y el MSB del valor indica
unidades de semitono, por tanto un valor de 0CH = 12 ajusta el máximo rango pitch bend
en +/-12 semitonos (1 octava). (En los generadores de sonido GS el LSB de Pitch Bend
Sensitivity se ignorará, pero el LSB deberá transmitirse igualmente (con un valor de 0) para
que laoperación sea correcta en cualquier dispositivo).
Una vez especificado el número de parámetro RPN o NRPN, todos los mensajes Data Entry
transmitidos por ese mismo canal serán válidos, por lo tanto después de haber trasmitido el
valor deseado, es una buena idea ajustar el número de parámetro en 7F 7FH para evitar
accidentes. Este es el motivo para (B3) 64 7F (B3) 65 7F al final.
No es aconsejable para los datos de interpretación (como datos de archivos MIDI estándar)
contener demasiados eventos en "running state" <Ejemplo 4>. Esto se debe a que si la
reproiducción se detiene durante la canción y se rebobina o se avanza, el secuenciador
puede no ser capaz de transmitir el estado correxto y el generador de sonido interpretará los
datos incorrectamente. Asegúrese de dar a cada evento su propio estado.
También es necesario que el número de ajuste del parámetro RPN o NRPN y el valor de
ajuste se realicen en el orden correcto. En algunos secuenciadores los eventos que ocurren
en el mismo clock (o consecutivos) pueden transmitirse en un orden distinto que el orden en
que se recibieron. Por esta razón es una buena idea desviar ligeramente el tiempo de cada
(aprox. 1 tick por TPQN = 96, y aprox. 5 ticks para TPQN = 480).
* TPQN: Ticks por negra.
00H
00H
0CH
00H
7FH
7FH

Publicidad

loading