Revistas en papel
Anterior
MenĂº
Logotipo

Amiga.InFo Nº 0 - Noviembre/Diciembre 1994 - Música

NOTA: Pulsando sobre las fotos con borde azul ampliarás la imagen.

Otra forma de componer música con Amiga. Santi Maspons nos inicia en el sistema más utilizado por los profesionales a la hora de crear música con el ordenador: EL INTERFAZ MIDI.

El atractivo mundo del MIDI relaciona campos tan sugerentes como la música y la informática. El primero, relacionado con las humanidades y las artes y el segundo, con la tecnología y el proceso de información. Ambos campos coinciden en que, al fin y al cabo, las notas musicales son información susceptible de procesar. Este vínculo aparece constantemente en el concepto multimedia, donde se aglutinan la información, la imagen y el sonido. Aunque para los usuarios de Amiga este concepto es algo natural y cotidiano, no ocurre lo mismo en otras plataformas.


1. Muestra del interfaz midi externo, utilizado por Santi. Este modelo puede conectarse a cualquier Amiga.

MIDI es un interfaz digital de instrumentos musicales. La palabra en sí corresponde a las siglas en inglés de "Musical Instrument Digital Interface". Básicamente es una máquina de proceso digital que permite conectar varios instrumentos musicales digitales, ordenadores o secuenciadores de ritmos. Cada instrumento u ordenador dispone de circuitería para posibilitar la comunicación en el sistema. El Amiga dispone de una gran gama de interfaces MIDI para todos los presupuestos, desde menos de 5.000 pts. hasta más de 25.000 pts. El precio no determina la calidad del interfaz, sólo las prestaciones y comodidades que nos ofrece. El que usamos en nuestra configuración ronde las 9.000 ptas (fig.1). Dispone de una entrada (IN) para un instrumento, salidas (OUT) para dos instrumentos y dos copias (THRU) más de la entrada. También nos ofrece un conector serie con la posibilidad de conmutarlo de MIDI a SERIE para no tener que desenchufarlo cada vez que usemos el puerto serie con un módem o impresora.

Los instrumentos musicales más frecuentemente usados en entornos MIDI, como los teclados musicales, sintetizadores de sonido o samplers llevan ya incorporado el interfaz. Con estos elementos, un programa de control MIDI si usamos ordenador y los cables necesarios, se pueden construir sistemas configurados para cada necesidad. Aunque en este artículo nos referiremos específicamente a la conexión entre el Amiga y dos teclados, caben todas las combinaciones. Se pueden conectar en cadena varios teclados de forma que un músico interprete una pieza musical en su teclado favorito y cada teclado reproduzca las notas que le sean indicadas. Se puede utilizar cualquier ordenador (con salida serie), pero como nos tiene acostumbrados, Amiga va a ofrecernos las ventajas de poder usar sus capacidades sonoras y sobre todo de trabajar en su entorno multiproceso.


CONEXION DEL EQUIPO


2. Esquema de conexiones de la configuración utilizada. Se podrían añadir cajas de ritmos, módulos, etc ...

La potencia del interfaz MIDI se basa en el envío de mensajes y NO de sonido, razón por la que en nuestro sistema habrá un cableado para señales MIDI y otro para el sonido. Por el sistema MIDI circula la información de las teclas pulsadas, los sonidos que seleccionamos en el instrumento, el volumen, el tempo, otros comandos y señales de sincronización. No todos los instrumentos con interfaz MIDI reconocen el potente conjunto de mensajes; unos no aceptarán un cambio en el volumen u otros sólo dispondrán de un sonido y no tendrá sentido cambiarlo. El tipo de mensajes que reconoce el instrumento estará indicado en las especificaciones MIDI de su manual de usuario.

El interfaz MIDI transmite la información de forma secuencial bit a bit en octetos con un bit de inicio al principio y otro de parada al final para protocolo. Funciona a una velocidad de transmisión de 31250 bits por segundo (baudios). Suponiendo que la pulsación de cada nota se codifique en 30 bits (3 octetos más los bits de protocolo), podemos tocas más de 1000 notas por segundo, prestaciones más que suficientes para la mayoría de los músicos. Los cables por los que circulan los mensajes MIDIson unidireccionales, es decir, habrá una conexión de entrada (IN) y otra de salida (OUT). Opcionalmente, hay una tercera conexión llamada a través (THRU), que no es más que una copia de la entrada recibida al instrumento. Esta conexión extra nos permitirá copiar la señal que recibamos en un teclado hacia la entrada de otro y ésta a otro, etc... pudiendo así encadenar los instrumentos. La configuración que comentamos en este artículo corresponde a la figura 2 y consta de un Amiga con un programa secuenciador de música que maneje MIDI, un interfaz MIDI, dos teclados y un equipo de amplificación.

Veamos primero la conexión MIDI. Sin prestar mucha atención, podríamos conectar la salida del ordenador a la entrada del primer teclado y la salida de éste a la entrada del segundo. Sin embargo. esta configuración no permite controlar el segundo teclado desde el Amiga. Los mensajes del ordenador van al primer teclado, éste los interpreta y por su salida sólo envía las notas o controles que pulsemos. El segundo teclado sólo recibirá estas segundas señales y no las que enviábamos desde el programa secuenciador. La figura 2 muestra la conexión correcta en cadena. Si en lugar de conectar la salida del primer teclado, colocamos la conexión a través (THRU) a la entrada del segundo, los dos teclados recibirán los mensajes del ordenador. Las señales que reciba el primer teclado por al entrada son copiadas a la conexión a través y enviadas al segundo teclado.

Las conexiones de audio nos servirán para oír las composiciones a través de un equipo amplificado y para registrarlas en una cinta magnética. Conectaremos la salida de sonido del Amiga y de los teclados a una mesa de mezclas y ésta a un amplificador con altavoces y magnetoscopio. En esta configuración, el Amiga puede realizar las funciones de secuenciador de ritmos, de instrumento generador de sonidos y de editor, de todos los parámetros de la composición musical.

Los dos teclados interpretarán las notas y mensajes que envíe el ordenador, pero sólo el primero nos permitirá enviar notas debido a que el interfaz MIDI sólo tiene una entrada. Para que los dos teclados pudieran enviar notas simultáneamente, necesitaríamos un fusionador MIDI. Conectaríamos las dos salidad MIDI de los teclados a las entradas del fusionador y la salida de éste a la entrada del MIDI del ordenador. No obstante, con un pequeño truco podremos trabajar con los dos teclados sin el fusionador en nuestra configuración. Introduciremos las notas con el primer teclado y en el ordenador las modificaremos para que lasinterprete sólo el segundo. Aunque puede parecer complicado, es una tarea muy simple gracias a la forma en que se condifican y envían los mensajes MIDI.


MODOS Y CANALES

La norma MIDI estándar considera 16 canales a través de los cuales se pueden enviar mensajes. Los canales se codifican y se implementan en un solo cable. NO hace falta un cable para cada canal. Una vez instalado el sistema, no es necesario cambiar los cables. Cada instrumento puede interpretar los mensajes según el modo en que funcione. Los instrumentos MIDI pueden operar en 5 modos con comportamientos muy diferentes, desde no distinguir los canales y sonido monofónico hasta polifonía por cada uno de los 16 canales. Hoy en día, sólo se usa el modo más potente, quedando los demás reservados para los antiguos sintetizadores analógicos. Cuando hablamos de sintetizadores, frecuentemente se confunden los términos instrumento y sonido. EL INSTRUMENTO es el sintetizador como tal y los SONIDOS son el violín, la guitarra, el piano o el bombo que puede simular el instrumento sintetizador. Muchas veces llamamos teclado al instrumento y instrumentos a los sonidos que éste puede sintetizar, se entenderá según el contexto. Se podría considerar a los sonidos del instrumento como instrumentos virtuales. Hablaremos de POLIFONIA cuando varias notas puedan activarse simultáneamente y evidentemente suenen todas. El número de notas que pueden sonar a la vez se llama también número de VOCES. Tendremos MONOFONIA cuando al activar una nota se desactive automáticamente la anterior, sonando siempre una sola nota como máximo. Otro concepto que aparece en el entorno MIDI es OMNI. Omni desconectado (omni off) indicará que se consideran los canales MIDI y se reciben o envían mensajes por diferentes canales. En cambio, omni conectado (omni on) ignora los canales, considerándolos como un único canal. Vistos estos conceptos, veamos las posibilidades que ofrece cada modo de funcionamiento de los instrumentos que incorporan MIDI:

MODO 1 (omni on / poly): Considera todos los canales como uno. Podemos enviar mensajes al instrumento por cualquier canal y los aceptará. Este modo no permite diversos instrumentos simultáneos pero nos permite polifonía. Pueden sonar varias notas a la vez pero de un único sonido. Evidentemente, si el instrumento (teclado) tiene diversos sonidos, podemos cambiar el sonido para cada fragmento de la composición.

MODO 2 (omni on / mono): Tampoco distingue los canales pero además es monofónico. La activación de una tecla provoca la desactivación de la anterior. Es el modo más simple, sólo suena una nota a la vez pero también podemos cambiar el sonido si el instrumento lo permite.

0XXXXXXX -------- ------- (Dato)
1000cccc 0nnnnnnn 0vvvvvv (Desactivación nota) (nota) (velocidad)
1001cccc 0nnnnnnn 0vvvvvv (Activación nota) (nota) (velocidad)
1010cccc 0nnnnnnn 0vvvvvv (Activación nota) (nota) (presión)
1011cccc 0ccccccc 0vvvvvv (Cambio de Control) (control) (valor)
1011cccc 00000001 0vvvvvv (Control) (Rueda de modulación) (valor)
1011cccc 00000010 0vvvvvv (Control) (Controlador de soplo) (valor)
1011cccc 00000100 0vvvvvv (Control) (Pedal) (valor)
1011cccc 00000101 0vvvvvv (Control) (Tiempo de portamento)
1011cccc 00000110 0vvvvvv (Control) (Botón de entrada de datos) (valor)
1011cccc 00000111 0vvvvvv (Control) (Control de volumen principal) (valor)
1011cccc 00001000 0vvvvvv (Control) (Balance) (valor)
1011cccc 00001010 0vvvvvv (Control) (Pan) (valor)
1011cccc 01000000 0vvvvvv (Control) (Pedal de sostenido) (valor)
1011cccc 01000001 0vvvvvv (Control) (Portamento) (valor)
1011cccc 01000010 0vvvvvv (Control) (Sostenido) (valor)
1011cccc 01000011 0vvvvvv (Control) (Pedal soft) (valor)
1011cccc 01011100 0vvvvvv (Control) (Profundidad de trémolo) (valor)
1011cccc 01011101 0vvvvvv (Control) (Profundidad de coro) (valor)
1011cccc 01011110 0vvvvvv (Control) (Profundidad de celeste) (valor)
1011cccc 01011111 0vvvvvv (Control) (Profundidad de fase) (valor)
1011cccc 01100000 0vvvvvv (Control) (Incremento entrada datos) (valor)
1011cccc 01100001 0vvvvvv (Control) (Decremento entrada datos) (valor)
1011cccc 01100010 0aaaaaa (Control) (Parámetro no registrado) (valor)
1011cccc 01100011 0bbbbbb (Control) (Parámetro no registrado) (valor)
1011cccc 01100100 0aaaaaa (Control) (Parámetro registrado) (valor)
1011cccc 01100101 0vvvvvv (Control) (Parámetro registrado) (valor)
1011cccc 01111010 0000000 (Control) (Control local) (desactivado)
1011cccc 01111010 0111111 (Control) (Control local) (activado)
1011cccc 01111011 0000000 (Control) (Desactivación todas notas)
1011cccc 01111100 0000000 (Control) (Desactivación modo omni)
1011cccc 01111101 0000000 (Control) (Modo omni)
1011cccc 01111110 0mmmmmm (Control) (Modo monofónico) (número de canales)
1011cccc 01111111 0000000 (Control) (Modo polifónico)
1100cccc 0ppppppp         (Cambio de programa) (programa)
1101cccc 0ppppppp         (Pulsación global de canal) (presión)
1110cccc 0aaaaaaa 0bbbbbb (Modificación pitch) (bajo) (alto)
11110000                  (Inicio sistema exclusivo)
11110001                  (Indefinido)
11110010 0aaaaaaa 0bbbbbb (Posición canción) (bajo) (alto)
11110011 0ccccccc         (Selección de canción) (número de canción)
11110100                  (Indefinido)
11110101                  (Indefinido)
11110110                  (Requerimiento de entonación)
11110111                  (Fin sistema exclusivo)
11111000                  (Reloj de Temporización)
11111001                  (Indefinido)
11111010                  (Inicio)
11111011                  (Continuación)
11111100                  (Parada)
11111101                  (Indefinido)
11111110                  (Espera activa)
11111111                  (Inicialización del sistema)

Tabla 1. Resumen de todos los mensajes que implementa MIDI. Aparece la codificación en binario de cada comando y el número de datos que precisa.

MODO 3 (omni off / poly): Este modo distingue los canales. Podemos poner un sonido diferente en cada canal y además en polifonía. Es el modo más utilizado actualmente por los profesionales. Por ejemplo, podemos tocar un violín polifónico por el canal 2, una guitarra polifónica por el 3, un piano a varias voces por el 4 y un ritmo de batería por el 10, todos ellos simultáneamente y sincronizados.

MODO 4 (omni off / mono): Este modo permite el uso de canales diferentes, pero por cada canal sólo sonará una nota a la vez. Es muy útil en tareas de secuenciación de ritmos. Se pueden enviar las notas de cada elemento de una batería por un canal diferente. Esta forma de trabajar ocupa muchos canales y puede utilizarse en una banda donde sólo se emplee el MIDI para una base rítmica y haya otros instrumentos no controlados vía MIDI como una guitarra clásica, una flauta o un coro.

MODO 5 (multi): Modo no implementado en todos los instrumentos. Permite la asignación dinámica de la polifonía de cada canal. Se puede programar el número de voces que pueden sonar por cada canal. Hay que tener en cuenta el grado de polifonía (número de voces) que permite el instrumento.


LOS MENSAJES MIDI

Existen cuatro tipos de mensajes MIDI: los mensajes a través de canal, los comunes a todo el sistema, los exclusivos de cada instrumento y los de tiempo real. Si usamos un mensaje de canal, podemos cambiar el sonido, el volumen, el tempo o activar y desactivar notas por cada canal. Los comunes de sistema afectan al instrumento y no se asocian a ningún canal en concreto. Los exclusivos de sistema tampoco usan el formato canal y sirven para programar funciones muy específicas del instrumento.


3. OctaMED Professional V5.00 Es uno de los programas que sirven para realizar composiciones MIDI. Es apropiado tanto para las composiciones MIDI como para realizar módulos clásicos de Amiga. Compatibles con Protracker, Sountracker, etc...

El formato general de los mensajes es un comando y a continuación los datos que precisa. Hay comandos que requieren un dato, otros dos, algunos no requieren ninguno y los exclusivos precisan todo un bloque de datos para operar. El formato de los mensajes de canal es un octeto con el bit más significativo igual a 1, seguido por tres bits mmmm que codifican el comando y por cuatro bits cccc que codifican el canal por el que se envía el mensaje. La codificación del canal va desde 0000 (0) hasta 1111 (15), aunque se habla de los canales 1 al 16. El código 0000 indicará el canal 1, el 0001 el canal 2 y así sucesivamente hasta el 1111 que indicará el 16. Los octetos de datos SIEMPRE comienzan con un 0. Los 7 bits restantes codifican el dato con unos valores posibles entre 0 y 127. La tabla 1 resume todos los mensajes que implementa MIDI. En ella aparece la codificación en binario de cada comando y el número de datos que precisa.

Comentaremos algunos de los mensajes que aparecen en el uso de programas de control MIDI. El programador de aplicaciones precisará conocer el funcionamiento detallado de todos ellos, pero con un programa adecuado como MUSIC-X, BARS & PIPES o incluso OCTAMED, un músico podrá trabajar en el entorno MIDI sin conocer la existencia de las señales.


4. MUSIC-X es la opción más barata y además es más que adecuado para el principiante. Permite un control completo del entorno MIDI así como de los sonidos muestreados (samplers) del Amiga.

Los comandos de activación y desactivación de notas tienen como operandos la nota codificada en el primer octeto de datos y la velocidad de pulsación o volumen de la misma en el segundo. La interpretación de este comando puede variar de un teclado a otro. Se puede interpretar la velocidad como la velocidad de ataque de la nota o como el volumen con que debe sonar. Los mensajes de cambio de control sirven para cambiar parámetros diversos del instrumento como el volumen general, el sostenido de las notas o el modo en que opera el instrumento. Cada fabricante indica, en su manual de usuario, los controles que soportan MIDI. El cambio de programa se interpreta usualmente como un cambio de sonido del teclado, por ejemplo para escoger el violín o el piano. El simple hecho de presionar una tecla y soltarla se traduce en dos mensajes de 3 octetos cada uno. Al pulsar la tecla se genera un primer mensaje que indica la activación de la nota con una determinada velocidad. Cuando soltamos la tecla provocamos otro mensaje que indica la desactivación de esa nota a una determinada velocidad. Las velocidades de activación y desactivación son independientes. Una velocidad de activación nula provoca el mismo efecto que desactivar una nota, aunque los circuitos del instrumento probablemente estén trabajando. Otra forma de desactivar la nota es a través del comando desactivar todas las notas.

Todos estos mensajes circulan por el sistema a tiempo real, es decir, cuando se producen, se interpretan. Si tenemos un grupo de mensajes preparados en el ordenador y los mandamos vía MIDI (puerto serie) a un instrumento, es probable que en el instrumento suene algo parecido a un chillido. Todas las notas han sonado a la vez. La razón es que no hemos secuenciado correctamente los mensajes. Cada nota tiene que sonar en un instante concreto y durante un determinado tiempo. Cada mensaje debe ser enviado en su preciso momento para que aparezca eso que llamamos música. Las funciones de sincronización las realizará el programa secuenciador que usemos en el ordenador. Los programas que utilizaremos normalmente nos mostrarán los datos de los mensajes en el sistema decimal o hexadecimal, por lo que para que hacer las conversiones convenientes si usamos la TABLA 1. La información de activación y desactivación de notas y otros mensajes, suelen estar representados en un pentagrama o un símil que incluye una trama de tiempo y muestra el momento en que se produce cada mensaje.


PROGRAMACION MIDI

Para comprobar que todo funciona, podemos ejecutar unas pequeñas utilidades en AREXX para consultar y enviar los mensajes MIDI. Para ejecutarlos sólo hay que editar un fichero ASCII (Script) con e l listado y ejecutar RX <nombre del fichero> desde una Shell. El primer programa (LISTADO 1) reserva el puerto serie y va mostrando en base diez los datos que circulan por el sistema. Para probarlo basta con ir tocando notas en el teclado o cambiar los sonidos y controles. Si por ejemplo, al variar un control en el teclado, el programa no muestra ningún valor, podemos suponer que la implementación MIDI de nuestro teclado no incluye el cambio de ese control. Podemos confirmarlo en el manual del instrumento. El programa espera hasta que recibe algún mensaje diferente de espera activa (254 en decimal o 11111110 en binario) y lo imprime en la pantalla. Para abortarlo basta con pulsar <CONTROL>+C en el Shell.

LISTADO NUMERO 1:
/* LEER_MIDI.REXX por Santi Maspons 1994 */
if -open('midi','ser:','Read') then do
       say 'Ser: ocupado...'
       exit
end
say 'Puerto serie:'
c=' '
do forever
       x=254
          do while (x==254)
                 c=readch('midi',1)
                 x=c2d(c)
          end
       say x
end
LISTADO NUMERO 2:
/* ESCRIBIR_MIDI.REXX por Santi Maspons 1994 */
if -open('midi','ser:','Write') then do
       say 'Ser: ocupado ...'
       exit
end
say 'Usando SER: ...'
do forever
       x=readln(stdin)
       if x='' then break
       c=d2c(x)
       writech('midi',c)
end

El segundo programa nos permite enviar mensajes al teclado. Podemos probar con enviar 164, 60 y 64 para activar una nota y 132, 60 y 64 para desactivarla.


TRABAJANDO CON MIDI


5. Todos los secuenciadores tienen la facilidad de modificar los datos una vez introducidos. En cada pista pondremos las notas compuestas de cada sonido.

Normalmente trabajaremos con algún programa que nos secuencie los mensajes MIDI. El Amiga dispone de programas de música con características propias. BARS & PIPES puede incluso sincronizar animaciones de REAL 3D o presentaciones de gráficos con la composición musical. Los programas del tipo OCTAMED, PROTRACKER, y OCTALYZER están especializados en los sonidos del Amiga. Para compatibilizarse con los canales MIDI, implementan 16 voces. Aunque el Amiga dispone de 4 voces, estos programas son capaces de hacer sonar 8 voces simultaneas en el ordenador y 8 voces más vía MIDI. OCTALYZER consigue 8 voces en el Amiga de forma ejemplar. Este último grupo de programas tiene cualidades perfectas si queremos trabajar con sonidos muestreados (samples) del Amiga pero no es muy fiel a la norma MIDI y no será la mejor opción para trabajar profesionalmente con sintetizadores u otros instrumentos MIDI. Nosotros hemos escogido MUSIC-X, un veterano programapara Amiga que permite un control completo del entorno MIDI así como el manejo de los sonidos del Amiga.


7. Una vez introducidas las notas, podremos modificar todos los parámetros para conseguir que nuestro Amiga simule toda una orquesta al completo.

Music-X se presenta como un secuenciador de 250 pistas o secuencias (Figura 4). Se pueden componer lasnotas de cada sonido en una pista diferente (Figura 5). Cada secuencia puede tener las notas que queramos, incluyendo polifonías. Las notas se representan en MUSIC-X como barras de colores. Asignando un color a cada canal. Esta iconografía es muy intuitiva y flexible en su uso. las notas que deben sonar juntas aparecen en columna. La longitud de la barra representa la duración de la nota. las notas pueden activarse y desactivarse en cualquier momento.

La resolución temporal de MIDI es muy alta y no se percibe. Este hecho marca una gran diferencia con los programas tipo OCTAMED, en los que sólo se puede activar una nota cada cierto tiempo.

Un método de trabajo para componer una pieza es comenzar por programar una secuencia de metrónomo en el ordenador y hacerla sonar con un sample tipo tic.


6. MUSIC-X es ya un programa veterano, pero reune cualidades que lo hacen perfecto para el aprendizaje del MIDI.

Pondremos el programa de modo que pueda registrar los mensajes MIDI con algún dispositivo que indique RECORD o algo similar. El programa debería permitir grabar todos los canales MIDI por los que se le envien los mensajes. Algunos programas pintan las notas que se reciben por cada canal de colores diferentes. En el teclado podremos ir probando la melodía que nos rondaba por la cabeza. Si todo va bien, el programa va indicando de alguna forma que recibe los mensajes y los va guardando. Una vez finalizada la interpretación, el programa debería dejarnos guardar la secuencia tocada, ponerle un nombre, corregir o eliminar o añadir notas y insertar mensajes como cambio de sonido, o volumen. Se pueden ir grabando secuencias mientras escuchamos las grabadas anteriormente de forma parecida a un grabador multipista, y así ir añadiendo efectos, coros y otras voces.


8. Utilizando MUSIC-X podrás usar tus samples favoritos en lugar de los sonidos del instrumento.

Una vez tenemos todas las secuencias grabadas, podremos ponerlas en orden, cambiar el canal por el que se enviarán, cambiarlas de octava o incluso hacer que las interprete el Amiga con nuestros samples o sonidos preferidos. De esta forma, un solo músico puede componer y interpretar la totalidad de la pieza musical y controlar todos los instrumentos conectados. Si configuramos cada teclado para que reconozca unos canales MIDI e ignore el resto y cambiamos los canales por los que se envían las secuencias en el programa, podemos conseguir que las notas que habíamos introducido desde un teclado suenen en el otro. De esta forma solucionamos el problema de tener una única entrada en el MIDI. Mientras el Amiga y los dos teclados estén interpretando nuestra composición, podemos también tocar lasnotas que nos permita la polifonía del instrumento. De hecho ésta es la manera de poder hacer un concierto en vivo sin una banda, el músico toca las principales melodías, y el programa secuenciador los ritmos y acompañamientos. Este método de trabajo con MIDI permite la sincronización de la música con eventos exteriores para crear un gran espectáculo multimedia como logra, por ejemplo, Jean Michel Jarre en todos sus conciertos. Desde este artículo invito a todos los músicos (profesionales o amateurs) que usen instrumentos susceptibles de usar MIDI a conectarlos a un Amiga.


Envía esta página web a un amigo:
Esta opción está desactivada temporalmente, rogamos disculpen las molestias

Volver a la página anterior

Al menú principal