Ep.3: la aparición de las técnicas de sampling y el Protocolo MIDI

PROTOCOLO MIDI (CONTINUACIÓN):

Txomin

octubre 22nd, 2018

No hay comentarios

Continuamos, desde donde lo dejamos, hablando sobre el “Protocolo MIDI”, para explicar más a fondo los elementos que lo componen y sus funcionalidades. Y es que, mientras que las ideas básicas sobre audio digital son fácilmente comprensibles para cualquier usuario de ordenador, en el “MIDI” hay conceptos relacionados con la música, la informática y las comunicaciones, que le otorgan un cierto aire de inaccesibilidad. Muchísimos artículos, poco claros, nada rigurosos, y en muchos casos con muchas incorrecciones, han colaborado a fomentar la idea de que el “MIDI” es un terreno vetado y sólo apto para eruditos. No obstante, queremos aclarar que no es necesario ser un gran músico y programador para iniciarse con él.

“MIDI”, acrónimo de “Musical Instruments Digital Interface” (Interfaz digital para instrumentos musicales), no es, ni una forma de compresión de audio digital, ni un lenguaje musical, ni describe directamente los sonidos musicales. Es un protocolo digital de comunicaciones, surgido del entendimiento entre los fabricantes sobre los que hablamos en nuestro anterior artículo sobre el “MIDI”, que permitió la comunicación entre todos ellos, y los ordenadores. Constituye el lenguaje de alto nivel más importante que deben comprender la mayor parte de los sintetizadores digitales fabricados a partir de 1983.

La gran revolución digital llegó con la incorporación de los ordenadores personales, con capacidad para poder grabar, almacenar, manipular y reproducir cualquier tipo de dato digital, con la ayuda del software oportuno. En la década de los 70 se vivió una explosión en el desarrollo de los sistemas digitales, lo que provocó un cambio drástico en su diseño. Esto fue debido a los avances tecnológicos alcanzados gracias a la miniaturización de sus componentes electrónicos, que permitió construir estructuras similares a las de un ordenador (“softwares”), con su microprocesador, sus memorias y sus códigos en sistema binario (su lenguaje). Los músicos profesionales se percataron de ello rápidamente y, a pesar de que los ordenadores personales, que acababan de aparecer, eran una sombra de lo que son hoy en día, el ordenador MIDI no tardó en convertirse en herramienta imprescindible para muchas áreas de la producción musical y audiovisual. Por ello, si a la potencia de los actuales ordenadores le añadimos el espectacular abaratamiento sufrido por el “hardware” musical (tarjetas de sonido, teclados, etc.), no nos será difícil imaginar que, actualmente, podemos tener en casa, a nuestra disposición, infinitas prestaciones para manipular los sonidos, etc. El “MIDI” no puede, lógicamente, suplir a los conocimientos y a las habilidades desarrolladas por un músico a lo largo de años de estudio y práctica, pero ha sido vital para la evolución de los estilos musicales de las última décadas, permitiendo nuevos enfoques de creación musical, en los que las ideas y la imaginación han llegado a jugar papeles más importantes que la pericia instrumental.

El primer atisbo de lo que estaba por venir, sucedió en 1981, cuando surgió el primer Protocolo, bautizado como “USI” (“Universal Synthesizer Interface”). Lamentablemente no fue universal, y los códigos empleados seguían siendo totalmente arbitrarios en cada marca, así como la interconexión de sus circuitos. Dos años después llegó la propuesta conjunta de los fabricantes japoneses y norteamericanos de la que ya hemos hablado anteriormente, para definir un protocolo standard que pudiese permitir la conexión entre estos aparatos, independientemente del fabricante. Así nació, en 1983, el “MIDI 1.0.”, y fue tal el éxito obtenido que, aunque las especificaciones técnicas hayan quedado obsoletas para las posibilidades tecnológicas de hoy, la normativa no ha cambiado en ningún punto.

La capacidad de tener memoria, y de poder programar los osciladores con los ordenadores, fue lo que llevó a las fábricas a volcarse en emplear la tecnología digital para diseñar sus instrumentos. Y para diseñar un sistema digital, es imprescindible codificar todas las acciones y variables que se manejan. Codificar asignando a cada variable un código binario que la represente. “Interface” significa que un aparato electrónico convierte los códigos según un determinado protocolo. La interface hace el trabajo; y el protocolo es una convención que dice cómo hacerlo, especificando, tanto la conexión física y el interfaz del hardware, como el formato de los datos, y el orden y la disposición de los mensajes que se pueden transmitir entre los dispositivos.

Existen varias razones para optar por generar sonido mediante “MIDI”, en lugar de utilizando ficheros de sonido digitalizado (de tipo “WAV”, por ejemplo). La principal es el tamaño: mientras que un sonido digitalizado de calidad ocupa aproximadamente 10 Mb por minuto, un “fichero MIDI” de la misma duración, puede ocupar tan solo 10 Kb2, ya que, en lugar de contener el sonido digitalizado, contiene sólo las instrucciones necesarias para que un dispositivo compatible active los sonidos. Estas instrucciones se dan en forma de “mensajes MIDI” que indican (entre otras cosas) al sintetizador o a la tarjeta de sonido, qué sonidos de los que dispone debe utilizar, qué notas debe activar, y con qué intensidad debe hacerlo. Otra ventaja del “MIDI” es la facilidad para editar y modificar los sonidos.

Los sintetizadores suelen estar compuestos por una parte controladora (el teclado) y una parte generadora de sonido, el resto de sus componentes. Para el profano, estos dos conceptos suelen ir juntos, pero el “MIDI” favorece el uso de teclados “que no suenan”, y de módulos generadores de sonido “sin teclas”, con el subsiguiente abaratamiento de costes.

Las “acciones” hacen referencia a lo que puede hacer una persona con el instrumento. Antes de su aparición, podríamos asignar arbitrariamente el “código 1001” a la acción de pulsar una tecla. La “Norma MIDI” pasó a determinar el conjunto de condiciones a las que debían ajustarse los fabricantes, en cuanto a la codificación y a la unificación de las acciones que se realizan con el instrumento, a la determinación de los canales de transmisión, a la forma en que pasan los datos o códigos de un instrumento a otro, etc. Cada vez que se realiza alguna acción sobre un instrumento, éste fabrica un mensaje que consiste en uno o más códigos binarios, que comunican a otros instrumentos lo que se ha realizado. Por ejemplo, cada vez que se toca una tecla se genera un mensaje formado por 3 “bytes”, que le dicen a los otros instrumentos conectados que se ha tocado una tecla, cuál ha sido, y con qué fuerza o velocidad se ha ejecutado. Entonces, el instrumento que recibe el mensaje se entera de esa acción, y produce una nota con las características descritas por dicho mensaje.

Con el fin de permitir la interconexión entre dos o más instrumentos, una de las primeras pautas que fijó la “Norma MIDI”, fue el uso de tres tipos de puertos, por los que viaja la información, a través de un tipo de cable con “conectores DIN2 de 5 pines” en sus extremos (“2 DIN” son las siglas del instituto de normalización alemán: “Deutsches Institut fur Normung”).

En todo “aparato MIDI” hay tres tipos de puerto, llamados “IN”, “OUT” y “THRU”, cuyas funciones ya explicamos anteriormente, aunque, debido a su importancia, y para refrescar la memoria, volvemos a hacerlo ahora, pero de otra forma quizás más entendible para los profanos en este tema. Estos son:

“MIDI IN”: es por donde entra al instrumento la información que viene desde otro “dispositivo MIDI”, el puerto receptor, que recibe los voltajes eléctricos generados en el dispositivo. Todo instrumento receptor (un sintetizador o cualquier instrumento capaz de sonar) debe disponer de un “MIDI IN”.

“MIDI OUT”: es la salida de información de un instrumento, El puerto emisor, que se encarga de convertir los datos digitales generados por el dispositivo en series de voltajes eléctricos. Por aquí salen los mensajes generados únicamente en el instrumento. Es lógico suponer que el terminal “OUT” de un instrumento siempre se conectará con el “IN” de otro. A veces, el terminal “OUT” funciona también como “THRU”. En este caso, ya no existiría este último. Todo instrumento emisor (por ejemplo, un teclado) debe disponer forzosamente de un “MIDI OUT”.

“MIDI THRU”: terminal previsto para conectar más de dos instrumentos, de forma que les llegue la misma información desde un mismo “instrumento maestro”; reenvía la información llegada al “MIDI IN” desde el “interfaz”. Los “cables MIDI”, que utilizan forzosamente conectores “DIN” machos, conectan el “MIDI OUT”, o el “MIDI THRU” de un dispositivo, con el “MIDI IN” de otro. Su construcción garantiza la transmisión sin errores en longitudes inferiores a 15 metros. Por el puerto “MIDI THRU” sale la misma información que llega al puerto “IN”. Esto quiere decir que, si desde un instrumento (al que llamamos “maestro”) enviamos información a un segundo instrumento (llamado “esclavo”), y queremos que la misma llegue a un tercero, tendremos que llevar, desde el terminal “OUT” del primero, un cable al “IN” del segundo, y desde el terminal “THRU” del segundo, conectaríamos el cable al “IN” del tercero.

Una “conexión MIDI” típica puede ser aquella en la cual, desde un teclado (“maestro”) controlamos otro teclado y dos módulos de sonido. Todo lo que se hace en este “teclado maestro” es ordenado mediante mensajes a los “instrumentos esclavos”, que reaccionan ante la llegada de estos mensajes como si fueran verdaderos esclavos que cumplen órdenes. Los instrumentos que solo reciben órdenes se llaman “esclavos”, y el instrumento que envía ordenes se llama “maestro”. Cada acción que se hace sobre un “instrumento MIDI” es una orden llamada “mensaje MIDI”.

CONEXIÓN EN CADENA:

Si no existiera el tercer puerto “MIDI THRU”, tan sólo se podrían conectar dos dispositivos. Dado que los datos emitidos por este tercer puerto son una réplica de los recibidos por el dispositivo en el “MIDI IN”, su uso es lo que permite el encadenamiento de varios “dispositivos MIDI”. Pero, aunque en teoría la interconexión vía “MIDI THRU” es transparente, en la práctica se produce una distorsión que puede acarrear la perdida de mensajes tras más de tres enlaces. Por ello, en sistemas complejos con muchos dispositivos, es aconsejable utilizar un dispositivo hardware adicional, que centralice y redistribuya todos los mensajes, denominado “MIDI PATCH BAY”.

Aunque la conexión de varios “dispositivos MIDI” puede resultar complicada, en la práctica, si nuestro sistema se compone únicamente de un ordenador con una tarjeta de sonido interna y un teclado, la configuración se simplifica notablemente.

CANALES MIDI:

En la “Norma” o “Protocolo MIDI” se establecen 16 posibles canales de información, lo que no implica utilizar 16 cables distintos. Los canales son virtuales, se logran artificialmente, y tienen existencia real solo para el sistema. Disponer de 16 canales es muy útil, por ejemplo, cuando, teniendo un “teclado maestro”, y dos módulos de sonido, queremos transmitir algo (por ejemplo, una melodía) al primer módulo, sin que suene el segundo, y, además, también otra información (por ej. un acorde) al segundo sin que suene el primero. Para ello se le asigna a cada módulo un “canal MIDI” distinto, por ejemplo, 3 al primero, y 4 al segundo. Entonces, poniendo el máster en el canal 3, sonaría el primero, y poniéndolo en canal 4, el segundo. También es posible, utilizando el modo “MULTI” de un instrumento, asignar canales distintos a cada parte o zona de dicho “MULTI”, de forma que cada parte reaccione solo a la información que viene por el canal correspondiente. Es indispensable, para que pueda pasarse información de un instrumento a otro, que los “canales MIDI” de ambos sean iguales, porque de lo contrario, el transmisor enviaría los mensajes, pero el receptor, al estar en otro canal, no los consideraría.

Un sintetizador que pueda generar cuatro instrumentos simultáneos (como por ejemplo una línea de bajo, unos acordes de piano, una sección de cuerdas y una batería) deberá como mínimo poder recibir mensajes en cuatro “canales MIDI” diferentes. Al aparato que satisface estas características se denomina “multitímbrico”.

CABLE MIDI:

Es un cable múltiple de cinco conductores internos, protegidos por una malla metálica para disminuir las interferencias que se pueden producir debido a campos electromagnéticos. Emplea en sus extremos conectores tipo “DIN de 5 patas o pines”, de los cuales actualmente se utilizan solo tres: los pines 4 y 5, y el pin central, que se conecta a masa en un solo extremo. Por el cable MIDI circulan mensajes formados por códigos, que son en realidad pulsos de electricidad muy pequeña. Cuanto más largo sea el cable, más expuesto está a la acción de interferencias. Por ello se aconseja no utilizar longitudes superiores a los 15 metros, sobre todo en lugares donde hay más interferencias, como los escenarios, etc. Conviene que el cable no pase cerca de transformadores o equipos que manejen mucha potencia. Utilizando cables de hasta 6 metros no hay ningún tipo de problemas.

MENSAJES MIDI:

Para poder establecer la “Norma MIDI”, fue necesario analizar las situaciones que se presentan cuando una persona ejecuta un instrumento, para luego poder codificarlas y organizarlas. LAS CODIFICACIONES MÁS USUALES SON:

“NOTE ON”: significa tocar una tecla, y es sin duda la acción más frecuente que hacemos sobre un teclado.

“NOTE OFF”: se refiere a la acción de soltar una tecla. Siempre que hablemos de tocar o soltar una tecla, es necesario codificar de qué tecla se trata, y con qué fuerza o velocidad se ha ejecutado o soltado. A cada acción de “Note On” le corresponde una de “Note off”, sino la nota seguiría sonando indefinidamente.

“PROGRAM CHANGE”: es la acción de cambiar un programa. Esta situación es frecuente y por lo tanto también se ha previsto en el “MIDI”. Recordemos que se les llama programas a los sonidos de los sintetizadores y de los módulos de sonido.

“PITCH-BEND”: la rueda de “pitch-bend” se manipula para desafinar hacia arriba o hacia abajo un sonido.

“AFTER TOUCH”: es la presión ejercida sobre una tecla después de haberla tocado. Esto nos permite dar más expresividad al sonido sin tener que accionar ningún tipo de rueda, palanca o pedal. La expresividad se logra con la misma tecla que estamos tocando, presionándola más fuerte de lo normal. La post-presión que hacemos se puede traducir, según cómo se haya programado el sonido, en vibrato, con más brillo, con aumento de volumen, etc. El “after-touch” puede ser “de canal” o “polifónico”: el “DE CANAL” es el más empleado, y consiste en dar un mismo valor de presión para todo el teclado, por más que toquemos un acorde y presionemos unas teclas más que otras. El “POLIFÓNICO” es más expresivo, pero también más caro de implementar. Permite dar un valor distinto de presión a cada tecla, independientemente, y de forma simultánea.

“CONTROL CHANGE”: significa cambios de control, las acciones de control sobre el sonido (modulación, etc.). Todas estas situaciones están codificadas, y a cada una se le ha asignado un número llamado “NÚMERO DE CONTROLADOR” o “NÚMERO DE CONTROL”.

“SISTEMA EXCLUSIVO”: forma prevista en el “MIDI” para poder realizar transferencias de datos entre instrumentos, con información exclusiva de cada instrumento, que solo la entiende el instrumento que la contiene, y que no puede ser interpretada por otro de distinta marca o modelo. Cada fabricante tiene total libertad en cuanto a la codificación y organización de su sistema. Cuando se hacen intercambios en “sistema exclusivo”, los datos se mandan en paquetes de datos precedidos por un número, llamado “NÚMERO DE IDENTIFICACIÓN” (“ID NUMBER”), que cada fabricante tiene registrado. Por ejemplo, “KAWAI” emplea el 40, “ROLAND” el 41, “KORG” el 42, “YAMAHA” el 43, y “ENSONIQ OF KURZWEIL” el 07.

ORGANIZACIÓN DE LOS MENSAJES:

Para entrar en el estudio de los mensajes MIDI, recordemos primero el concepto de “byte”: un grupo de 8 dígitos binarios, o bits, que nos permite codificar 256 estados para hacer así acciones distintas. Para ampliar un poco este concepto, veamos cuántas palabras se pueden formar con dos letras: aa, ab, ac, ad, … az, …, ba, bb, bc, … bz. Si uno se toma el trabajo de escribir todas las posibilidades de combinar dos letras, se pueden obtener 729 palabras distintas (suponiendo un alfabeto de 27 letras). En los sistemas que emplean cifras binarias, la cantidad de combinaciones que se puede obtener es mucho menor, debido a que un dígito solo puede tener dos estados diferentes: 1 y 0, contra 27 que tenemos en el alfabeto. Por lo tanto, para formar una palabra binaria, de forma que se puedan tener varias combinaciones diferentes, se necesita más cantidad de dígitos: como mínimo 4. Por esta razón, se le ha dado al “byte” una cantidad de 8 dígitos o bits. En MIDI, como en otras ramas de la informática, se adopta el “byte” como palabra binaria. Al “byte” lo podemos dividir en dos mitades de 4 bits cada una, y para codificar algo nos basta solo con 4 bits. LOS 4 BITS DE LA PARTE DERECHA SE LLAMAN “BITS MENOS SIGNIFICATIVOS” (“LSB”), Y LOS DE LA IZQUIERDA, “BITS MÁS SIGNIFICATIVOS” (“MSB”). Con cada mitad podremos codificar 16 acciones distintas.

“MENSAJE MIDI”:

Se llama “mensaje MIDI” a un conjunto de “bytes” que informan a un instrumento sobre la ocurrencia de una acción o situación dada. Por ejemplo: cuando tocamos una tecla o cambiamos de programa, se transmiten mensajes que comunican tales acciones a los otros instrumentos conectados. Todos los “mensajes MIDI” comienzan con un primer “byte” que se llama “BYTE DE ESTADO”, que indica el tipo de mensaje. Esto es, si se trata de un cambio de programa, tocar una tecla, etc. A este byte de estado lo siguen dos, uno, o ningún “byte”, llamados “BYTES DE DATOS”. Cuantos lo acompañen lo determina el tipo de mensaje. Para distinguir entre un “byte de estado” y uno “de datos”, se utiliza el bit de la izquierda: si es un 1, se trata de un “byte de estado”; si es un 0 corresponde a un “byte de datos” (“data byte”). Entonces, un “mensaje MIDI” tendrá, a lo sumo, tres “bytes”: uno “de estado” y dos “de datos”. Existe una única excepción, y es cuando transmitimos en “sistema exclusivo”, donde la cantidad de “bytes de datos” es ilimitada: “mensaje MIDI”: “BYTE DE ESTADO” + “1er. BYTE DE DATOS” + “2º BYTE DE DATOS”.

Los mensajes se transmiten de forma binaria y en serie, es decir, mediante pulsos (bits) sucesivos. La transmisión se produce de forma asíncrona o, lo que es lo mismo, siempre que un dispositivo decida enviar un mensaje (por ejemplo, porque un músico ha apretado una tecla). Esta asincronía obliga a que cada “byte de mensaje” vaya rodeado de un bit de comienzo y un bit de final. Estas transmisiones se realizan a una velocidad de 31.250 bits por segundo, por lo que la velocidad máxima de transmisión es de 3125 bytes/sec. El “interfaz MIDI” de un dispositivo es el responsable de recibir y de transmitir estos mensajes. Aunque la mayoría de los “dispositivos MIDI” incluyen, como mínimo, un receptor y un emisor, también es posible que tan solo incluyan a uno de los dos.

LOS “MENSAJES MIDI” SE CLASIFICAN EN DOS GRUPOS:

1. “MENSAJES DE CANAL”:

Mensajes cuyo “byte de estado” lleva la información correspondiente al “canal MIDI” en el que se está transmitiendo. Son los mensajes que se transmiten con más frecuencia (al tocar el teclado, al cambiar un programa, etc.). Poder transmitir en canales distintos es muy útil, asignando a cada pista un “canal MIDI”, sobre todo trabajando con el secuenciador con sonidos y secuencias diferentes en cada canal. Para codificar el “canal MIDI” se utiliza el mismo “byte de estado”, dividiéndolo en dos mitades de 4 bits cada una. Con los 4 “BITS MÁS SIGNIFICATIVOS” (los que están a la izquierda) se codifica el tipo de mensaje, que es la función del “byte de estado”, y con “LOS MENOS SIGNIFICATIVOS”, el “canal MIDI”. Cada canal tiene su código correspondiente. El nº del código que lleva el “byte de estado” es siempre menor, en una unidad, al n. del “canal MIDI” que representa. Y para saber cuántas combinaciones diferentes se pueden obtener en el sistema binario, se multiplica el número 2 tantas veces como la cantidad de dígitos que tengamos. Por ejemplo, con 4 bits se obtienen: 2 x 2 x 2 x 2 = 16 combinaciones. Así, tenemos:

CÓDIGO: CÓDIGO:
Canal 1 0000 Canal 9 1000
Canal 2 0001 Canal 10 1001
Canal 3 0010 Canal 11 1010
Canal 4 0011 Canal 12 1011
Canal 5 0100 Canal 13 1100
Canal 6 0101 Canal 14 1101
Canal 7 0110 Canal 15 1110
Canal 8 0111 Canal 16 1111

Los “mensajes de canal” están en la mitad derecha del “byte de estado”. El “canal MIDI” se indica con XXXX, ya que el canal lo elegimos, y, por lo tanto, no tiene un número fijo. Los “bytes de estado” de cada mensaje están escritos en binario y en orden ascendente. LOS PRINCIPALES MENSAJES DE CANALSON:

1.1. “NOTE OFF” (1000XXXX + DATABYTE 1 + DATABYTE 2):

Indica que se ha soltado una tecla, y por lo tanto el instrumento tiene que callarse. El primer “byte de datos” indica el nº de la tecla que se ha soltado, y el segundo, con qué velocidad se ha soltado. Muchos instrumentos transmiten el valor fijo de 64 en este segundo “byte”, por no poder codificar la velocidad con que se suelta la tecla.

1.2 “NOTE ON” (1001XXXX + DATABYTE 1 + DATABYTE 2):

Nos dice que se ha tocado una tecla. Al igual que con el mensaje anterior, el primer “byte de datos” indica la tecla, y el 2º, la velocidad con la que se tocó dicha tecla.

1.3. “(KEY PRESSURE” 1010XXXX + DATABYTE 1 + DATABYTE 2):

Representa al “after touch (post-presión) polifónico”. Como dijimos antes, es la presión que se ejerce sobre la tecla después de haberla tocado. En general produce vibrato, pero depende de cómo se haya programado el sonido. Al ser polifónico, da un valor independiente de presión a cada tecla, por lo que el primer “byte de datos” indica el nº de tecla. El 2º “byte de datos” se usa para transmitir el valor de la presión ejercida en la tecla especificada con el primero.

1.4. “CONTROL CHANGE” (1011XXXX + DATABYTE 1 + DATABYTE 2):

En los “mensajes de cambio de control” se incluyen todos los controles de expresión del sonido, excepto el de “pitch-bend” y el de “after-touch”, que se transmiten con mensajes independientes. Como dijimos anteriormente, estos controles tienen asignado un número que está establecido en la “Norma MIDI”. Algunos de estos mensajes son:

1 0000 0001 “Rueda de modulación”
7 0000 0111 Volumen
10 0000 1010 “Panorama”
64 0100 0000 “Pedal de sustain”
91 0101 1011 “Control de envío de efecto de sonido 1”
93 0101 1101 “Control de envío de efecto de sonido 2.”

En este tipo de mensaje, el primer “byte de datos” indica el número de controlador o “número de control”, y el segundo, la cantidad que se ha variado en dicho control. Por ejemplo, si queremos transmitir un mensaje que cambie el volumen de un sonido a un valor de 74 (4A en hexadecimal), y que está en el canal MIDI 4, tendremos el siguiente mensaje: B 3 + 0 7 + 4 A, o en binario: 10110011 + 00000111 + 01001010. En el caso de los controladores que solo pueden tener dos estados (“ON/OFF”), como el “pedal de sustain”, el “2º byte de datos” toma el valor 0 cuando está en “OFF”, y 127 cuando es “ON”. Por ejemplo, si en el mismo “canal MIDI 4” presiono el “pedal de sustain”, se transmitiría el siguiente mensaje: B 3 + 40 + 7 F, o en binario: 10110011 + 01000000 + 01111111 (40H es 64 en decimal y 7FH es 127 en decimal).

1.5. “PROGRAM CHANGE” (1100XXXX + DATA BYTE 1):

Este mensaje se transmite cada vez que cambiamos de programa. Tiene solo un “byte de datos”, el cual contiene el nº de programa. De esta forma podemos seleccionar hasta 128 programas (de 0 a 127). Actualmente, como los instrumentos traen más de 128 programas, se utilizan otras formas para seleccionarlos. La más empleada es usando un “mensaje de cambio de control” con el nº de control 00, y un “valor de control” que selecciona el banco de programas. A continuación de éste, se envía el mensaje de cambio de programa para seleccionar el programa dentro del banco.

1.6. “CHANNEL PRESSURE” (1101XXXX + DATABYTE 1):

Corresponde al “aftertouch de canal”, que es el más usado por la mayoría de los instrumentos. Tiene un solo “byte de datos” que indica, para todo el instrumento, el “valor de presión” que se ha ejercido.

1.7. “PITCH-BEND” (1110XXXX + DATABYTE 1 + DATABYTE 2):

Este mensaje, que corresponde a la “rueda de pitch-bend”, utiliza dos “bytes de datos” para tener más precisión. Esto nos permite codificar 16.384 estados diferentes, contra 128 que podríamos con un solo “byte” (de los ocho bits solo se usan 7, por ser el 1er. bit = 0 en un “byte de datos”). Esto se hace para tener más estados disponibles y de esta manera, al ser menor el salto de un estado al otro, lograr un efecto de variación continua, y no por pasos o escalonada.

2. “MENSAJES DE SISTEMA”:

Necesitan ser transmitidos en distintos canales, por lo que no llevan número de canal. Sin embargo, para que pueda establecerse una comunicación correcta entre dos o más instrumentos, es necesario que los “canales MIDI de sistema” de ambos instrumentos sean iguales. El “canal de sistema” generalmente se encuentra en el menú del modo máster o global, o en el menú que aparece al ingresar en la función “MIDI”. Los “mensajes de sistema” se clasifican en tres categorías: Los “bytes de datos” se expresan aquí en hexadecimal.

2.1. “MENSAJES DE SISTEMA EXCLUSIVO”:

Este tipo de mensajes se ha previsto para permitir la transferencia de datos de un instrumento a otro, sin ningún tipo de restricciones en cuanto a la longitud y el formato. Una “comunicación en sistema exclusivo” se realiza, por ejemplo, cuando guardamos el contenido del banco de memoria de un instrumento en el disco de un ordenador, o de otro instrumento. El receptor, en este caso, no tiene por qué saber de qué se trata. La información que recibe, la guarda, pero sin interpretarla en forma de paquetes de datos. La única condición que se impone es que cada paquete de datos esté precedido por un “byte”, que se denomina “NUMERO DE IDENTIFICACIÓN” (“ID NUMBER”). Este número identifica la marca del instrumento transmisor, con el objeto de saber a quién pertenece la información, y está registrado por cada fabricante. SU FORMATO ES EL SIGUIENTE: F0 + ID +… cualquier nº de bytes… + F7 (donde F0: indica que se inicia una comunicación en “sistema exclusivo”; “ID” indica el número de identificación del instrumento que envía la información, y “F7” indica el final de la transferencia en “sistema exclusivo”.

2.2. “MENSAJES COMUNES”:

Dos de ellos se utilizan cuando se trabaja con secuenciadores o máquinas de ritmo, y el tercero, si bien no es tan usual, se aplica a instrumentos con afinación, tales como sintetizadores, módulos de sonido, etc. En esta categoría entran los siguientes mensajes:

2.2.1. “SELECCIÓN DE CANCIÓN” (“SONG SELECT”):

Selecciona un número de canción en un secuenciador o en una máquina de ritmos. Estos instrumentos nos permiten grabar secuencias y organizarlas luego para producir o interpretar música. En todos los casos, estas canciones, aparte de llevar un nombre que elegimos, tienen un número. Por ejemplo, el “song 00” es llamado “SALSA”, el “04” “VOLKS”, etc. Con este mensaje, es posible, entonces, elegir un número de canción de un secuenciador o caja de ritmos. El formato del mensaje es el siguiente: F3 + DATABYTE 1 F3H = 11110011 (donde “F3” es el “byte de estado” que indica que se quiere seleccionar una canción, y DATABYTE 1 lleva el número de canción que seleccionamos.

2.2.2. “PUNTERO DE POSICION DE CANCION” (“SONG POSITION POINTER”):

Este mensaje nos da la posibilidad de ir a cualquier parte de la canción. Por ejemplo, cuando en un secuenciador avanzamos con el control “Fast Forward” (avance rápido) hasta algún compás de la canción, al presionar “PLAY” se transmite este mensaje para que la canción arranque en la posición elegida. Por ejemplo, si hemos avanzado hasta el compás 32 y presionamos “PLAY”, el secuenciador manda primero un “mensaje de posición de canción” para informar desde dónde tiene que arrancar algún otro secuenciador o máquina de ritmos que se haya conectado al “MIDI OUT”. El formato del mensaje es el siguiente: F2 + DATABYTE 1 + DATABYTE 2 (donde F2H = 11110010, “F2” es el “byte de estado”, y DATABYTES 1 y 2 llevan entre los dos un número correspondiente a la posición de la canción.

2.2.3. “REQUERIMIENTO DE AFINACIÓN” (“TUNE REQUEST”):

Algunos instrumentos utilizan este mensaje para quedar igualmente afinados con respecto a LA 440. “F6” no lleva byte de datos, y sólo se transmite el “byte de estado solamente”.

2.3. “MENSAJES DE TIEMPO REAL” (“REAL TIME MESSAGES”)

Este tipo de mensajes también se relacionan con secuenciadores y máquinas de ritmos. Se utilizan cuando hay instrumentos trabajando de forma sincrónica (por ejemplo, cuando controlamos el tempo de una máquina de ritmos con el de un secuenciador).

2.3.1. “RELOJ MIDI” (“TIMING CLOCK”):

Es un mensaje formado por un solo “byte”, que se transmite de forma permanente mientras el instrumento está en modo “PLAY”. Así, informa al “instrumento esclavo” sobre el tempo de la canción que está sonando. La cantidad de mensajes por segundo depende del tempo musical elegido en el “instrumento maestro”. Gracias a este mensaje, un secuenciador y una máquina de ritmos pueden marchar al mismo tempo musical. Uno de ellos es el “maestro” y el otro el “esclavo”. El “esclavo” recibe los “mensajes F8”, y acomoda su tempo según la frecuencia con la que lleguen desde el “maestro”. Si subimos el tempo en el “maestro”, también aumenta la frecuencia de los mensajes (“clocks”), haciendo que el tempo en el “esclavo” suba al mismo valor que el del “maestro”, ya que ambos están sincronizados. “F8” no lleva “byte de datos”.

2.3.2. “ARRANQUE” (“START”):

Da la orden de arranque desde el principio de una canción o secuencia. Se transmite cada vez que presionamos el botón “PLAY”. Cuando se trabaja con dos secuenciadores sincronizados, el esclavo no arranca hasta que llegue el mensaje “START” o “CONTINUE”. Cuando en el secuenciador maestro presionamos “PLAY”, éste envía el mensaje “START”, que hace que el “esclavo” se dirija al comienzo de la canción y arranque. “FA” no lleva “byte de datos”.

2.3.3. “CONTINUAR” (“CONTINUE”):

Da la orden de arrancar, pero desde la última posición donde se había detenido la canción (si es que sucedió tal cosa). Cumple una función parecida al mensaje “START”. Cuando el “esclavo” recibe este mensaje no vuelve al principio de la canción (lo que haría con el mensaje “START”) sino que arranca desde donde se había quedado detenido por algún mensaje “STOP”. “FB” no lleva “byte de datos”.

2.3.4. “PARAR” (“STOP”)

Se transmite cada vez que se presiona la tecla “STOP”. En su formato de mensaje, “FC” tampoco lleva “byte de datos”.

2.3.5. “CENSO ACTIVO” (“ACTIVE SENSING”):

Es un mensaje que se transmite de forma permanente cada tercio de segundo, con el objeto de verificar si la conexión “MIDI” no se ha interrumpido por alguna razón (cable roto, desconectado, etc.). Si un instrumento con esta característica no recibe dicho mensaje, es señal de que se ha interrumpido la transmisión e inmediatamente interrumpe su funcionamiento para evitar errores. Tampoco “FE” lleva “byte de estado”.

2.3.6. “RESTABLECIMIENTO DEL SISTEMA” (“SYSTEM RESET”):

Solo muy pocos instrumentos reconocen este mensaje. Tiene la finalidad de restablecer el sistema a las condiciones iniciales, funciones, parámetros, etc., que tenía el instrumento en el momento en el que se encendió). Se utiliza en el caso que haya algún problema y el instrumento no responda a las acciones pedidas. “FF” tampoco lleva “byte de estado”.

RELACIÓN CORRELATIVA ENTRE NÚMEROS DECIMALES, HEXADECIMALES Y BINARIOS:

DECIMALES:

00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15

HEXADECIMALES:

0 1 2 3 4 5 6 7 8 9 A B C D E F

BINARIOS:

0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111

EL “GENERAL MIDI”:

La necesidad de una mayor estandarización empezó a hacerse patente conforme fueron aumentando la popularidad y el rango de las aplicaciones del “MIDI”. Así, nació en 1990 el “GENERAL MIDI”, como apoyo para la “Especificación MIDI 1.0”, tras nuevas reuniones entre los principales fabricantes. Esta especificación establece las características mínimas que ha de satisfacer un sintetizador para ser compatible con el “General MIDI”: capacidad multitímbrica de 16 canales, polifonía mínima de 24 notas, lista o mapa estándar de 128 programas, e incorporación de una caja de ritmos, accesible siempre desde el canal 10, y dotada de un mapa estándar de 59 sonidos de percusión. Es un estándar opcional, los fabricantes no están obligados a seguirlo, aunque sí deben satisfacerlo al 100% si desean colocar sobre su producto la etiqueta “compatible General MIDI”. Pero tiene sus inconvenientes. Aunque en él se especifican los instrumentos disponibles, no se impone ninguna condición sobre su calidad. Así, el número 73 le corresponde a la flauta, pero la diferencia entre la flauta de una tarjeta de sonido económica, y la de un sintetizador costoso puede resultar abismal. Además, los nombres escogidos son muy ambiguos en la descripción de algunos instrumentos. Por eso, aunque este estándar agiliza muchas tareas, al músico profesional que utilice el “MIDI” para obtener un producto final en forma de audio, y que, por consiguiente, no persiga, a priori, el intercambio de ficheros le supone una notable pérdida de posibilidades, porque ver reducido el infinito universo sonoro del “MIDI 1.0” a una triste paleta de 128 instrumentos no favorece demasiado a la música. Por ello, a partir de cierto precio, los instrumentos compatibles suelen ofrecer dos modos de trabajo seleccionables: el “MODO GENERAL MIDI” y el “MODO NATIVO”, con mayores posibilidades sonoras.

EL “GENERAL STANDARD” Y EL “XG MIDI”:

Varios fabricantes han creado versiones personalizadas, que engloban y expanden este estándar. Es el caso de “Roland” con el “General Standard”, y de “Yamaha” con el “XG MIDI”, que amplían, en ambos casos, la paleta instrumental, e incorporan ciertas posibilidades de edición y modificación de los sonidos originales. Estos nuevos estándares han sido adoptados también por otros fabricantes. Una de las ventajas importantes del “General Standard”, es la incorporación de 317 sonidos (en lugar de 128), y de varios kits de 8 bytes. Normalmente esta lista se presenta sin traducir al castellano. La numeración utilizada puede ir del 0 al 127, o del 1 al 128, dependiendo del fabricante. Estos nuevos sonidos son accesibles, precediendo los “mensajes de cambio de programa” por “mensajes de cambio de banco”.

Por otra parte, el “MIDI” permite separar el dispositivo emisor de datos (un teclado musical, por ejemplo), de los dispositivos receptores de datos y generadores de sonido. Esto elimina la necesidad de que cada sintetizador disponga de un teclado propio, y abarata costes. Siguiendo esta línea de economía, cuando a un “sintetizador sin teclas” se le quita el “envoltorio metálico”, tenemos una tarjeta de sonido

Esta separación controlador-receptor, ha permitido el desarrollo de nuevos tipos de instrumentos de control, que no tienen por qué emular al tradicional teclado de piano (guitarras, violines, instrumentos de viento, de percusión, instrumentos nuevos no tradicionales, etc.)

Los “mensajes MIDI” generados por cualquiera de estos instrumentos pueden ser almacenados en un ordenador para su posterior edición, modificación y reproducción, convirtiendo al ordenador en un estudio de grabación multipista.

Con el ordenador se pueden interpretar estos mensajes para sintetizar gráficamente las partituras, que podrán, a su vez, ser enviadas a una impresora por medio de diversos softwares. Puede convertirse en un paciente maestro de música que analiza, evalúa, comenta o corrige los datos “MIDI” recibidos, también mediante estos programas software; y puede generar mensajes, sin necesidad de que hayan sido emitidos por ninguna persona: también por medio de dichos softwares.

De forma más simple, en un entorno multimedia, el ordenador puede generar “mensajes MIDI” a partir de eventos, como el clic del ratón. Esto se encuadra en la denominada “programación MIDI de bajo nivel”.

CONTINUARÁ…

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Menú