Roland RD-700SX Manual Del Usuario página 170

Tabla de contenido
Implementación MIDI
■Tabla decimal y hexadecimal
(Se añade una "H" al final de los números en notación hexadecimal.)
En la documentación MIDI, los valores de datos y direcciones/tamaños de los mensajes
Exclusive etc., se expresan como valores hexadecimales para cada 7 bits.
En la siguiente tabla se indica su correspondencia a 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 el canal MIDI y el cambio de programa tienen un valor una
unidad superior a los valores mostrados en la tabla anterior.
* Un byte de 7 bits puede expresar información en un intervalo de 128 pasos. La
información en la que se requiere más precisión, debemos utilizar dos o más bytes. Por
ejemplo, dos números hexadecimales aa bbH expresando dos bytes de 7 bits indican un
valor de aa x 128 + bb.
* En el caso de valores que presentan un signo ±, 00H = -64, 40H = ±0, y 7FH = +63, de
modo que la expresión decimal sería 64 menos que el valor proporcionado en el
diagrama anterior. En el caso de dos tipos, 00 00H = -8192, 40 00H = +0 y 7F 7FH =
+8191. Por ejemplo, si aa bbH estaba expresado como decimal, debería ser aa bbH - 40
00H = aa x 128 + bb - 64 x 128.
* Los datos marcados como "Use nibbled data" se expresan en formato hexadecimal en
unidades de 4 bits. Un valor expresado como un 2-byte incompleto 0a 0bH tiene un valor
de x 16+b.
<Ejemplo1> ¿Cuál es la expresión decimal de 5AH?
En la tabla anterior, 5AH = 90
<Ejemplo2> ¿Cuál es la expresión decimal del valor 12 34H como
hexadecimal para cada 7 bits?
Según la tabla anterior, si 12H = 18 y 34H = 52
18 x 128+52 = 2356
<Ejemplo3> ¿Cuál es la expresión decimal del valor incompleto 0A 03 09
0D?
Según la tabla anterior, si 0AH = 10, 03H = 3, 09H = 9, 0DH = 13
((10 x 16+3) x 16+9) x 16+13 = 41885
<Ejemplo4> ¿Cuál es la expresión incompleta del valor decimal 1258?
16 ) 1258
16 )
78 ...10
16 )
4 ...14
0 ... 4
Según la tabla anterior, 0 = 00H, 4 = 04H, 14 = 0EH, 10 = 0AH, el resultado es: 00 04 0E 0AH.
170
|
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
<Ejemplo1> 92 3E 5F
9n es el estado Note-on, y n es el número de canal MIDI. Si 2H = 2, 3EH = 62 y 5FH = 95, es
un mensaje Note-on con MIDI CH = 3, número de nota 62 (el nombre de nota es D4) y
velocidad 95.
<Ejemplo2> CE 49
CnH es el estado Program Change, y n es el número de canal MIDI. Si EH = 14 y 49H = 73,
es un mensaje Program Change con MIDI CH = 15 y número de programa 74, (Flute en GS).
<Ejemplo3> 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 3r. byte (28H=40) es el MSB, en cambio el valor Pitch Bend es un número con
signo en el cual 40 00H (= 64 x 128 + 0 = 8192) es 0, de forma que el valor Pitch Bend es
28 00H - 40 00H = 40 x 12+80 - (64 x 12+80) = 5120 - 8192 = -3072
Si Pitch Bend Sensitivity está ajustado a 2 semitonos, -8192 (00 00H) hará que la afinación
cambie en -200 centésimas, con lo cual en este caso se aplicarán -200 x (-3072) ÷ (-8192) = -75
centésimas de Pitch Bend al canal MIDI 11.
<Ejemplo4> B3 64 00 65 00 06 0C 26 00 64 7F 65 7F
BnH es el estado Control Change, y n es el número de canal MIDI Para Control Changes, el
2º byte es el número de control, y el 3r. byte es el valor. En el caso de que dos o más
mensajes consecutivos tengan el mismo estado, MIDI tiene una provisión llamada "estado
funcionamiento" que permite que el byte de estado del segundo y de los siguientes
mensajes se omita. Así, los mensajes anteriores tienen el siguiente significado.
B3
64 00
MIDI ch.4, byte inferior del número de parámetro RPN:
(B3)
65 00
(MIDI ch.4) byte superior del número de parámetro RPN:
(B3)
06 0C
(MIDI ch.4) byte superior del valor de parámetro:
(B3)
26 00
(MIDI ch.4) byte inferior del valor del parámetro:
(B3)
64 7F
(MIDI ch.4) byte inferior del número de parámetro RPN:
(B3)
65 7F
(MIDI ch.4) byte superior del número de parámetro RPN:
Es decir, los mensajes anteriores especifican un valor de 0C 00H para el número de
parámetro RPN 00 00H en el canal MIDI 4, y luego ajustan el número de parámetro RPN a
7F 7FH.
El número de parámetro RPN 00 00H es sensibilidad Pitch Bend, y el MSB del valor indica
unidades de semitono, de forma que un valor de 0CH = 12 establece el intervalo máximo de
pitch bend a +12 semitonos (1 octava). (En los generadores de sonido GS el LSB de la
sensibilidad Pitch Bend es ignorado, pero LSB se debe transmitir igualmente (con un valor
0) de forma que la operación será correcta en cualquier dispositivo).
Una vez se ha especificado el número de parámetro para RPN o NRPN, todos los mensajes
Data Entry transmitidos en ese mismo canal serán válidos, de forma que una vez se haya
transmitido el valor deseado, es aconsejable ajustar el número de parámetro a 7F 7FH para
evitar accidentes. Este es el motivo por el cual (B3) 64 7F (B3) 65 7F está al final.
No es aconsejable que los datos de interpretación (como información de archivos MIDI
estándar) contengan demasiados eventos con estado de funcionamiento tal como se ha
explicado en el <Ejemplo 4>. Esto es porque si la reproducción se interrumpe en medio de
la canción y luego se rebobina o se avanza, el secuenciador no podrá transmitir el estado
correcto, y el generador de sonido no interpretará bien la información. Asegúrese de dar a
cada evento su propio estado
También es necesario que el ajuste del número de parámetro RPN o NRPN y el ajuste del
valor se realicen en el orden correcto. En algunos secuenciadores, los eventos establecidos
en el mismo (o consecutivo) tiempo, es posible que se transmitan en un orden diferente que
el orden con el que se recibieron. Por esta razón es recomendable cambiar ligeramente el
tiempo de cada evento (1 pulsación por TPQN =96, y 5 pulsaciones por TPQN =480).
* TPQN: pulsaciones por negra
00H
00H
0CH
00H
7FH
7FH
Tabla de contenido
loading

Tabla de contenido