Un Mapeador Midi es una herramienta que transforma unos eventos midi en otros.
Esto es muy util (de hecho, totalmente necesario) para los órganos que
no comprendan los eventos estáandares (o sea, si un teclado no es compatible General Midi)
, en este caso, el mapeador midi traducirá los eventos General Midi en eventos
que ese órgano comprenda.
Por ejemplo, puedes hacer un mapeador midi que convierta todos los eventos del tipo
'Usar el instrumento piano', por 'Usar el instrumento trompeta', y asi cuando una canción
intente tocar un piano, tocará una trompeta en su lugar.
Esto puede resultar extraño, (¿Por qué tocar una trompeta cuando la canción intenta tocar
un piano ?), pero es muy util. El estandar GM especifica que cuando un
teclado midi recibe un evento para cambiar al instrumento 0, cambiará el instrumento
actual a un 'Grand Piano', pero un sintetizador antiguo cambiará a una
'Guitarra Eléctrica' (por ejemplo) cuando reciba un 0. Este teclado antiguo,
necesita recibir un 3 (por ejemplo) para cambiar a un Piano. Y aquí se pone
el mapeador midi en acción, cambiando todos los eventos de 'Cambiar instrumento al 0'
por 'Cambiar instrumento al 3' y asi realmente tocar el instrumento correcto.
Brevemente, si no tienes un órgano externo, NO.
Si sólo tienes una tarjeta de sonido, no necesitas mapeador midi pues
todas las tarjetas de sonido son compatibles GM (incluyendo a las AWE, GUS, etc.).
Si estás tocando musica a través de un órgano externo que no
sea compatible GM, entonces necesitas hacer un mapeador midi para tu teclado midi.
Aunque estés toda una tarde haciendo un fichero de confihuración
e probando diferentes valores para todas las opciones, serás recompensado
cuando lo termines, porque sólo entonces encontraras todas las caracteristicas
que tu teclado tenía escondidas. Por ejemplo, yo tengo un Yamaha PSS-790,
que no es compatible GM, y no tiene tantos instrumentos como un sintetizador GM,
pero con el mapeador midi del KMid, suena incluso mejor que muchas tarjetas de sonido
(incluyendo a una AWE :-)), debido a la calidad de los sonidos que tiene un
sintetizados externo (incluso en los antiguos que no son GM)
No hay ningún programa (todavía) para generar mapas midi con lo que
tendrás que editar el fichero a mano . Un hecho que quisiera hacer notar es que
mapa es una traducción mala de "map", pero en el fondo, tiene
sentido y además se parece a la expresión inglesa "midi map" con lo que usaré
mapa midi para referirme al fichero de configuración del mapeador midi.
Un mapa midi es un archivo en el que se guardan todas las conversiones necesarias que
se harán cuando se toque la música.
Consiste en varias secciones: PATCHMAP, KEYMAP, CHANNELMAP, OPTIONS
Cada sección debe aparecer sólo una vez, excepto la sección KEYMAP que
puede aparecer tantas veces como sea necesario, siempre que en cada aparición
use un identificador distinto (continua leyendo para mas detalles)
La estructura general de un fichero map es :
-----------
DEFINE PATCHMAP
...
END
DEFINE KEYMAP "Name of Keymap"
...
END
DEFINE KEYMAP "Another name of Keymap"
...
END
DEFINE CHANNELMAP
...
END
OPTIONS
...
END
----------
Puedes ver que la palabra DEFINE se usa para especificar que sección
se va a empezar (excepto en OPTIONS), y que END se pone al final de cada sección.
Puedes poner comentarios comenzando la linea con un caracter '#' .
Por favor, no olvides mandarme tu fichero de configuración de tu mapeador midi
para que así las versiones futuras de KMid incluyan soporte para mas teclados
que no sean General Midi.
Esta sección se usa para especificar como se van a traducir los instrumentos, de GM
a los requerimientos de tu teclado . El uso general es :
(Nombre del instrumento GM )=(N) [AllKeysTo M]
Donde N es el número que tu teclado necesita recibir para cambiar al mismo instrumento
al que cambia el estandar GM .
Importante: nota que la parte izquierda del signo igual es ignorada, asi que los instrumentos GM se
suponen que van en orden (de 0 a 127) , y no está permitido el cambiar el
orden de las lineas, ni omitir ninguno de los 128 instrumentos.
La opción 'AllKeysTo M' se usa para mapear todas las notas que usen ese instrumento
a la tecla M . Por ejemplo, supongamos que tu teclado midi no tiene un sonido
de 'Gun Shot' (sonido de disparo de pistola), que es el instrumento 127 según el estandar GM,
asi que quieres mapearlo a un tambor de percusión (por ejemplo, la tecla 60),
que suena similar a un disparo, entonces puedes poner esto en la linea 127 de
la sección PATCHMAP :
Gunshot =100 AllKeysTo 60
Asi cuando un fichero midi intente tocar una nota con el instrumento 127,
será mapeado al instrumento 100 (suponiendo que ese sea el numero usado en tu
teclado para el "instrumento de percusión") y tocará la nota 60 (independientemente
de la tecla con la que fuera a ser tocado).
Nótese que cuando uso la expresión 'instrumento de percusión',
me refiero al instrumento en el que cada tecla toca un tambor, platillo o caja
de percusión distinto, y no a un posible sonido que algunos teclados tienen
y que tocan un tono distinto de la misma batería con cada tecla.
La sección KEYMAP se usa para especificar como se van a mapear las teclas, dentro de un canal o instrumento dado . El uso es :
DEFINE KEYMAP "Nombre del mapa de teclas"
C 0 =0
C#0 =1
D 0 =2
...
END
Igual que con la sección PATCHMAP, es muy importante el orden de las lineas
y que estén todas las 128 teclas .
Como puedes definir varios "keymaps" para diferentes canales e instrumentos,
debes darle un nombre distinto a cada uno en la primera linea.
Los mapas de teclas (Keymaps) se usan principalmente para mapear las teclas
en el canal de percusión . Hecha un vistazo a los mapas midi distribuidos
para ver algunos ejemplos.
Esta sección se usa para intercambiar unos canales por otros . Por ejemplo,
si tu quieres cambiar el primer y el segundo canal, lo puedes hacer muy fácilmente
en esta sección .
De todas formas, es todavía mas útil, para los teclados que necesitan
que el canal de percusión esté en un determinado canal (el estandar GM usa
el canal 10, otros usan el 16 y otros el 9) .
Nótese que los dispositivos midi usan 16 canales, así que
la sección CHANNELMAP tiene 16 lineas (de 0 a 15),como esta :
(N) = (M) [Keymap "Nombre"] [ForcePatch x]
Donde N es el canal que va a ser mapeado al canal M .
Si se usa la opción Keymap, el mapa de teclas con nombre "Nombre" sera usado
en este canal (la sección Keymap debe haber sido definida ANTES en ese ficher !) .
Si se usa la opción ForcePatch, todos los eventos que intenten cambiar el instrumento
que se usa en ese canal serán ignorados, y el instrumento x será usado en su lugar .
La opción ForcePatch es muy util por ejemplo, para usar
siempre el instrumento de percusión en el canal de percusión .
La sección OPTIONS tiene algunas opciones generales que pueden ser muy utiles :
OPTIONS
PitchBenderRatio = r
MapExpressionToVolumeEvents
END
Puedes especificar ambas opciones, sólo una, o ninguna.
El valor de r en PitchBenderRatio , especifica la proporción por la que serán
multiplicados los eventos de inflexión del tono (Pitch bender) .
O sea, cuando un fichero midi intenta mandar un evento de inflexión del tono
con un valor de n, el valor que realmente será mandado será n*(r/4096) (el
4096 es para no tener que usar puntos decimales en el fichero map) .
Esta opción se usa porque el estandar GM dice que cuando un dispositivo midi
recibe un evento de inflexión del tono con un valor de 4096, debe subir el tono
a uno mas agudo, pero algunos teclados intentan subir el tono a dos o mas notas
mas agudas (incluso una octava mas aguda!!) cuando reciben un 4096 .
Esto se arregla facilmente intentando distintos valores para que en vez de mandar un
4096, KMid mande el valor apropiado .
Cuando se especifica la opción MapExpressionToVolumeEvents en el fichero map, y
un fichero midi intenta mandar un evento de expresi&ocaute;n, KMid mandará un evento
de volumen que comprenden todos los teclados que no son GM, y que tiene un efecto muy parecido .
Hay muchos ficheros midi que usan eventos de expresión para ir bajando el volumen
al final de la canción, asi que si tu crees que la música debería
ir escuchandose cada vez mas baja, puedes activar esta opción y ver si es lo que necesitas,
porque posiblemente tu sintetizador midi, esté ignorando los eventos de
expresión porque no los comprenda .
Para usar un mapa midi, simplemente abre el diálogo 'Configurar dispositivos Midi' seleccionando
la entrada 'Configuración Midi ...' del menú 'Opciones' .
Entonces pulsa en 'Buscar ...', selecciona el fichero en el dialogo de abir fichero
y disfruta de la múusica ! :-)