www.iua.upf.es/~sergi/ - sergi.jorda@iua.upf.es
Publicado en Resonancias con permiso del autor - (c) 1997-2003 Sergi
Jordà Puig
15.1. Introducción
Una vez vistas las especificaciones, posibilidades y usos
más frecuentes del protocolo MIDI, en este capítulo veremos cómo
organiza y gestiona el MIDI Windows 95, aunque la mayoría de lo
indicado sería fácilmente extrapolable a Windows 3.1. Esperamos
que esta información le sea de utilidad para comprender y configurar
su sistema de forma óptima. Este capítulo, es asimismo imprescindible
para los que deseen abordar la programación MIDI que se estudia
en los dos próximos capítulos.
15.2. Dispositivos MIDI
en Windows 95
En este apartado volveremos a hurgar en el panel de control y otras
utilidades de Windows 95; si es necesario, repase lo mencionado
en los apartados 4.5 a 4.8.
Para comenzar, nada nuevo hay que añadir a lo comentado
en el apartado 4.5, sobre
la información referente a los dispositivos de sonido accesibles
desde la opción Controladores de sonido,
vídeo y juegos del icono de sistema
en el panel de control, ya que en él, Windows no distingue entre
los dispositivos MIDI y los de audio digital. Esta información tan
sólo le será de utilidad si su sistema presenta alguna incompatibilidad
o conflicto a nivel de IRQs o direcciones de memoria. Suponiendo
que todas las tarjetas hayan instalado correctamente sus drivers,
la información realmente útil es accesible desde el icono multimedia.
15.2.1. Información MIDI
en el icono multimedia - multiplicidad de los dispositivos MIDI
internos
Si en el apartado 4.5, estudiamos ya los componentes de audio digital
y del CD Audio incluidos en esta caja de dialogo, ahora le toca
el turno al MIDI. La novedad, es que aunque sólo disponga de una
tarjeta de sonido, es posible que al seleccionar la pestaña correspondiente,
le aparezcan varios dispositivos MIDI. La comprensión de este punto
es fundamental para entender la gestión que hace Windows de los
dispositivos MIDI internos. Cada uno de estos dispositivos está
asociado a un driver diferente.
Un driver no es más que un programa
que no se ejecuta directamente, sino que se activa de forma automática
y responde a peticiones formuladas por el sistema u otros programas.
En el caso del MIDI, cada uno de estos drivers
corresponde a un puerto MIDI independiente.
Supongamos que disponemos de una tarjeta con tecnología
de tablas de onda, que incluye además síntesis FM para compatibilidad
con modelos anteriores. Dicha tarjeta incorpora en realidad dos
sintetizadores en uno, y si cada uno de ellos posee su propio driver,
ambos podrán ser accesibles de forma simultánea. En la figura 15.1,
que muestra esta ventana para un ordenador equipado con una Sound
Blaster AWE32, se observa que los dispositivos son en realidad tres.
|
|
Figura 15.1.
Ventana de dispositivos MIDI |
El MIDI de Creative Advanced
Wave Effects Synthesis para AWE 32 es un nombre muy largo
para designar al sintetizador de tabla de ondas, el Sintetizador
FM interno OPL2/OPL3 corresponde lógicamente al chip FM,
y el MIDI de puerto MIDI externo al
MIDI OUT. Dado que cada uno es capaz de direccionar 16 canales,
un sistema de estas características podrá reproducir 16 canales
con sonidos de tabla de ondas, 16 canales FM y podrá gestionar también,
a través del conector de MIDI OUT, 16 canales más para controlar
sintetizadores externos.
15.2.2. Elección del dispositivo
MIDI por defecto - el mapeador MIDI
En algunas aplicaciones MIDI sencillas, como el reproductor de multimedia
(y la gran mayoría de programas reproductores de ficheros MIDI),
no es posible seleccionar entre los diversos puertos MIDI de salida.
Estos programas envían toda la información a un único un puerto
defecto, denominado mapeador MIDI (o MIDI
mapper) que se configura en la ventana que nos ocupa. Si
dispone de varios dispositivos MIDI, lo normal será asignar el valor
defecto a aquél que mejor suene, pero no está obligado a elegir
uno en su totalidad, ya que el dispositivo defecto puede ser una
combinación de todos los disponibles.
Configuración personalizada
Supongamos que dispone de dos sintetizadores internos
A y B. El A suena mejor, pero siente cierta debilidad por los sonidos
de percusión del B. En este caso, tal vez le interese configurar
el dispositivo defecto, de forma que utilice el sintetizador A en
todos los canales, salvo en el 10 (reservado para la percusión en
General MIDI), que se asignará al sintetizador B. El proceso a seguir
es el siguiente:
- Seleccione Configuración
personalizada (A) y pulse el botón Configurar
(B) en la ventana de Propiedades Multimedia
de la figura 15.2. Aparecerá una nueva ventana con el instrumento
asociado a cada uno de los dieciséis canales (C ).
- Sitúese en el instrumento del canal 10 (D),
y pulse Cambiar (E). Se activará
una lista desplegable con los dispositivos disponibles en el sistema
(F).
- Seleccione el sintetizador B y pulse Aceptar
(G). El cambio aparecerá reflejado en la lista de canales de la
ventana anterior (C ).
- Pulse de nuevo Aceptar (H), si desea guardar
esta configuración como la Predeterminada,
o bien escriba un nuevo nombre en la parte superior de la ventana
(I) y pulse Guardar Como (J).
- La nueva configuración estará siempre accesible
desde la lista de Configuración personalizada
(A).
Repitiendo este proceso, podrá cuando lo desee, añadir
una nueva configuración, y modificar o eliminar una ya existente.
|
|
Figura 15.2.
Configuración de un dispositivo MIDI personalizado |
Selección de un instrumento único
En el caso de que desee utilizar un solo dispositivo
como sintetizador defecto, tan sólo tendrá que seleccionarlo en
la ventana principal y activar la opción instrumento
único.De todas formas, tenga en cuenta que la definición
de este mapeado tan solo es útil para aplicaciones sencillas, normalmente
reproductores (players). Los
secuenciadores permiten, como se vio en el capítulo
13,"El secuenciador" y volveremos a tratar en el apartado 15.4,
un control individual sobre cada uno de los dispositivos.
15.3. El mapeador MIDI
en Windows 3.1
Incluimos este apartado, porque el mapeador MIDI de Windows 3.1
era paradójicamente bastante más versátil que el de Windows 95.
La justificación puede radicar en el hecho de que, hace unos años,
las tarjetas de sonido estaban mucho menos estandarizadas, y presentaban
frecuentemente capacidades multitímbricas muy restringidas.
Tal como se indicaba en el apartado
11.6.2, a las tarjetas compatibles con la especificación MPC1,
tan solo se les exigía que respondieran a los canales 13, 14, 15
y 16. ¿Qué sucedía cuando intentábamos reproducir con una de estas
tarjetas, un fichero MIDI estándar (standard
MIDI file) que sólo contuviese información en los diez primeros
canales? Sencillamente, nada sonaba. Y aun en el caso de que el
tema utilizase los 16 canales, nuestra antigua tarjeta sólo estaría
reproduciendo una cuarta parte de la música y, para colmo, posiblemente
de forma incorrecta. Para paliar esta y otras deficiencias, el mapeador
permitía configurar los tres niveles de corrección, que aparecen
en la figura 15.3.
15.3.1. Mapa de canales
El General MIDI establece que el canal 10 se reserva para la percusión,
mientras que en los sintetizadores MIDI básicos
(así se denominan los que sólo son compatibles con la especificación
MPC1), el canal de percusión es el 16. En este caso, la solución
pasa por establecer un mapa de canales, que asigne a cada uno de
los dieciséis posibles canales de entrada, alguno de los canales
realmente disponibles. Si queremos que una tarjeta básica reproduzca
correctamente las pistas de percusión de un fichero MIDI estándar,
el canal 10 deberá estar asignado al 16, mientras que los 15 restantes
deberán distribuirse de alguna forma entre los canales 11 a 15 de
la tarjeta. Este primer nivel de corrección, correspondiente a la
ventana Configuración MIDI de
la figura 15.3, es el único que permanece en Windows 95.
15.3.2. Mapa de instrumentos
En muchas tarjetas de sonido antiguas, el mapa de instrumentos no
era compatible General MIDI (el programa 1 podía corresponder a
una flauta, en lugar de a un piano). En este caso, el proceso de
mapeo necesario es bastante más tedioso, ya que consiste en establecer
una correspondencia entre los 128 programas General MIDI (véase
la tabla 7.1) y los programas asignados en la tarjeta, intentando
buscar los sonidos más equivalentes. Corresponde a la ventana Mapa
de sonidos MIDI, en la figura 15.3. Afortunadamente, la casi
totalidad de tarjetas actuales es compatible GM, por lo que este
mapeo ya no es necesario.
15.3.3. Mapa de sonidos
de percusión
Otra de las especificaciones que establece el General MIDI es un
mapa de sonidos de percusión (véase
la tabla 10.1). Si una tarjeta no fuera compatible con este
mapa, Windows 3.1 ofrece la posibilidad de establecer una nueva
correspondencia entre notas. Esta es la ventana Mapa
de claves de la figura 15.3.
|
|
Figura 15.3.
Configuración del mapeador MIDI en Windows 3.1 |
15.4.
Acceso a los diferentes puertos desde un secuenciador
Indicábamos en el apartado 15.2.2 que la correcta configuración
del mapeador MIDI sólo es útil para aquellos programas que no admiten
un control superior sobre todos los dispositivos instalados. Afortunadamente,
los secuenciadores para Windows (incluso los más sencillos), así
como otros tipos de programas (composición algorítmica, etc.), permiten
acceder a cada uno de los puertos. La figura 15.4 muestra la ventana
de dispositivos en los programas Cakewalk
y MIDI Orchestrator Plus (suele activarse con una opción
de menú denominada MIDI devices).
|
|
|
|
Figura 15.4.
Ventanas de dispositivos en Cakewalk y MIDI Orchestrator Plus |
La primera figura (Cakewalk)
corresponde a un ordenador que solo posee una AWE32, mientras que
el ordenador de la segunda figura (Orchestrator)
incorpora muchos más dispositivos. En ambos casos, la información
aparece dividida en dos secciones, MIDI IN y MIDI OUT. Observe que
en ambas, la sección MIDI OUT incluye el dispositivo MIDI
mapper, que corresponde al dispositivo por defecto.
Los dispositivos que aparecen en oscuro son aquellos
que el usuario ha decidido seleccionar para la sesión con el secuenciador.
Si selecciona el MIDI mapper,
el programa no le dejará seleccionar ninguno que esté incluido total
o parcialmente en el mapeador. Si lo intenta le aparecerá un mensaje
de conflicto de puertos abiertos, por lo que siempre es preferible
no seleccionar el MIDI mapper.
Dado que cada pista del secuenciador presenta, tal
como se aprecia en la figura 15.5, una columna denominada port,
el usuario puede indicar para cada una de ellas el puerto o dispositivo,
de entre los seleccionados, al que se dirigirán sus mensajes MIDI.
De esta forma se supera fácilmente la barrera de los dieciséis canales,
ya que el número de canales disponibles podrá ser de 16
x número de dispositivos.
|
|
Figura 15.5.
Asignación de puertos en las pistas de un secuenciador |
15.5. Dispositivos MIDI
virtuales
Uno de los sistemas de la figura 15.4 presentaba seis dispositivos
de entrada (de los cuales sólo se aprecian cuatro) y ocho de salida.
Aunque en varias ocasiones hemos puntualizado que es posible disponer
de varias tarjetas de sonido en un único ordenador, es obvio que
pocas placas base permitirían la inclusión de semejante número de
tarjetas. El ordenador del que hemos capturado la imagen tiene en
realidad instaladas dos tarjetas de sonido: una Sound
Blaster AWE 32 (que añade los mismos drivers
de la figura anterior) y una Roland
RAP10. Los restantes corresponden todos a dispositivos MIDI
virtuales, o drivers MIDI no
vinculados a ninguna tarjeta en particular. ¿Cual puede ser la utilidad
de un dispositivo de estas características? Observemos de nuevo
los nombres de los dispositivos de esa figura.
15.5.1. El teclado virtual
Entre los de entrada, figura el TTS
Virtual Piano IN, un driver
asociado a un pequeño programa que emula gráficamente a un teclado
MIDI (véase figura 15.6). Su función consiste en permitir la entrada
de notas sin la necesidad de un teclado externo. Aunque sus prestaciones
no pueden compararse a las de un dispositivo real (por ejemplo sólo
permite introducir una nota a la vez), puede ser útil en determinadas
circunstancias, como en un ordenador portátil. Es importante constatar
de que al ser un driver, y no
una mera extensión del software secuenciador, este tecladito puede
ser utilizado con cualquier programa MIDI que admita la elección
de los dispositivos de entrada.
|
|
Figura 15.6.
Aspecto del teclado virtual TTS |
15.5.2. El sintetizador
virtual
Entre los dispositivos de salida figura el Roland
VSC-55. Este driver corresponde al sintetizador virtual Virtual
Sound Canvas mencionado en el apartado
12.9. Este dispositivo no está relacionado con ninguna tarjeta
MIDI (debe asignarse eso sí, al dispositivo de audio digital de
alguna tarjeta, que será la que emita el sonido, pero esta es otra
historia), pero al disponer de su driver
particular, para el usuario esto no presenta ninguna diferencia.
Desde el secuenciador o cualquier otro programa, podrá activar este
puerto en algunas pistas, como si de un sintetizador más se tratara.
Los restantes dispositivos que aparecen en la figura
merecen una explicación más detallada.
15.5.3.
La matriz MIDI virtual
En el capítulo 10,"El hardware
MIDI", comentábamos la existencia de los patchbays,
dispositivos externos que incluyen varias entradas y varias salidas
MIDI y que permiten redireccionar cómodamente las conexiones entre
varios dispositivos externos, sin tener que estar enchufando y desenchufando
cables. La matriz MIDI por software que aparece en la figura 15.7
puede realizar una función similar, pero a nivel interno, conectando
entre si diversas aplicaciones MIDI.
|
|
Figura 15.7.
Hubi's Loopback: Una matriz virtual MIDI |
La figura, que corresponde al programa shareware
Hubi's Loopback, muestra una
matriz cuadrada de 4x4, ya que la aplicación dispone de cuatro entradas
(LB1-LB4) y cuatro salidas (LBA-LBD). Si consideramos que cada una
de estas entradas y salidas corresponde a un puerto MIDI, es fácil
deducir que la instalación de este pequeña aplicación, añadirá al
sistema cuatro drivers MIDI de
entrada, y cuatro de salida. Estos se corresponden con los restantes
drivers que completan la lista.
En la figura se aprecian cruces en algunas casillas;
su función es la de interconectar entradas y salidas. Una cruz en
la posición A1 significa que toda información MIDI recibida en el
puerto de salida A será redireccionada al puerto de entrada 1 (tal
vez creque nos hemos confundido utilizando los términos entrada
y salida, en el siguiente apartado comprenderá su utilización).
15.5.4.
Aplicaciones de las matrices virtuales
Supongamos que hemos escrito (o encontrado en Internet) un pequeño
programa que realiza un arpegio cada vez que recibe una nota MIDI.
Una aplicación de estas características puede tenernos un rato distraídos
haciendo "new age de pacotilla", pero si no incorpora un secuenciador,
pocas aplicaciones reales le podremos sacar. La solución la brinda
nuestra matriz virtual.
- En el arpegiador seleccionamos el puerto
estándar MIDI IN como dispositivo de entrada. Esto nos permitirá
tocar desde el teclado externo conectado a este puerto.
- En el arpegiador, seleccionamos también
el puerto A de la matriz como puerto de salida.
- En la matriz, activamos la posición A1 (por
ejemplo), de forma que todos los mensajes recibidos en el puerto
A serán enviados al puerto 1.
- En nuestro secuenciador, seleccionamos el
puerto 3 de la matriz como puerto de entrada.
A partir de ahora, las notas generadas por nuestro
arpegiador serán automáticamente enviadas a la entrada del secuenciador.
Veamos algunas otras posibilidades de esta mágica matriz.
- Sound Forge,
el editor gráfico de audio estudiado en el capítulo 5, puede activar
la reproducción de ficheros de tipo .wav, a partir de la recepción
de diversos mensajes MIDI. Para sincronizar Sound
Forge con un secuenciador como Cakewalk,
basta con direccionar una pista del secuenciador (será la pista
encargada de disparar los ficheros de onda) a la entrada MIDI
de Sound Forge.
- MIDI Joystick
es un pequeño programa de dominio público que permite generar
mensajes MIDI, totalmente configurables, con el simple movimiento
de un joystick. La gracia de
este "instrumento" es que, a diferencia de las ruedas de modulación
que incorporan los teclados MIDI que son normalmente unidimensionales
(véase apartado 8.5.5),
con el joystick es posible
controlar dos parámetros MIDI de forma simultánea. Podemos asignar
por ejemplo, el volumen (CC7) al desplazamiento en el eje Y, y
la panorámica (CC10) al desplazamiento en el eje X. Nuevamente,
bastará con conectar virtualmente la salida de este programa a
la entrada del secuenciador, para disponer de un expresivo y económico
controlador.
15.5.5. Instalación de los dispositivos
virtuales
Aunque la instalación de estos dispositivos
puede variar ligeramente (especialmente si no están preparados para
Windows 95), lo normal es instalarlos con la opción añadir
nuevo hardware accesible desde el panel de control de Windows
95 (aunque no estén vinculados a ningún hardware real, se comportan
como si lo estuvieran).
15.6. Conclusión
Tras esta información sobre la configuración
MIDI en Windows 95, sin duda podrán, los más atrevidos, adentrarse
en el estimulante terreno de la programación MIDI bajo Windows,
a la cual dedicamos los dos próximos capítulos.
[...] Índice
[<<] Capítulo
anterior [>>] Capítulo
siguiente [+] Anexos |