CURSO DE MUSICA MIDI

Última modificación el Jueves, 22 septiembre 2011 09:51 Autor: ernesto Sábado, 15 noviembre 2008 11:47

CURSO DE MUSICA MIDI

Musical Instruments Digital Interface (MIDI)

MIDI es un protocolo de comunicación digital entre instrumentos musicales que se empezó a usar en los 70 y que ya hace tiempo que esta consolidado como la interfaz entre instrumentos por excelencia.
Lo que se envía por MIDI no es el sonido que producen los instrumentos, sino los eventos: Cuando se pulsa una nota, cuando se varía un control… Permite sincronizar y secuenciar instrumentos, almacenar una interpretación para su posterior edición y reproducción…

La ventaja del MIDI es que es un estándar muy establecido y que la mayoría de aparatos musicales tienen algún tipo de interfaz MIDI. Pero, esta es, al parecer, su única ventaja, pues, en todos los sentidos, el MIDI limita por anticuado: polifonía, número de aparatos, conectividad, longitud del cableado, ancho de banda… Esto provoca, a menudo, que cada fabricante establezca su propia ampliación del estándar aunque, por suerte, mantienen, la compatibilidad con el MIDI básico.

Interfaz serie: A 31,250 Kb/s (1% de tolerancia) asíncrono con un start bit, ocho bits de datos empezando por el menos significativo y un stop bit, sin bit de paridad. Se realiza por bucle de corriente: 5 mA -> zero lógico y 1uA -> uno lógico. Entradas optoaisladas con un tiempo de respuesta de 2ns o menor.
Conectores: DIN de 5 pins (180o). Se utilizan 3: In(4), Out(5) y massa(2). La longitud máxima del cable es de 15 metros y tiene que ser trenzado y apantallado con la pantalla conectada al pin 2 en ambos extremos. Las patillas 1 y 3 se dejan sin conectar.
Puertos MIDI.
Los elementos MIDI se conectan mediante tres tipos de puertos.

  • MIDI IN: Entran datos desde otros dispositivos.
  • MIDI OUT: Salen los datos del MIDI IN mas los que produce el dispositivo.
  • MIDI THRU: Sale una copia de los datos del MIDI IN sin añadir los que produce el dispositivo. Solo los amplifica y corrige a modo de repetidor.

 

Configuraciones típicas:

  • Cadena: Lo que envía el director lo interpretan todos pero lo que se toca en los otros no es enviado a los demás.
  • Bucle: Los dispositivos envían información al director y este la distribuye posteriormente. Se utiliza mucho en composición cuando el director es, por ejemplo, un ordenador que almacena lo que interpreta un instrumento, y, después de editarlo, se devuelve al instrumento para escuchar el reculado.
  • Estrella: En cadenas muy largas, se suelen producir errores de comunicación y retardos. Un director, con más de una salida, que envía mensajes por cada una de ellas a un dispositivo diferente reduce la longitud de las cadenas.
  • Híbridos Se pueden combinar hasta la saciedad. Cada situación tiene su configuración apropiada.

Canal MIDI: Un canal MIDI sirve para direccionar los mensajes que se envían a un instrumento o a otro. El estándar MIDI utiliza 16 canales.
Canales propios de un instrumento: Canales a los que hace caso.
Canal básico de un instrumento: Canal por el que recibe los mensajes de modo (Configuración).
Voces de un instrumento: Elementos de generación de sonido de los que consta el dispositivo. P.ej: Las notas son las voces de un sintetizador pero en el caso de una caja de ritmos las voces serian cada uno de los elementos de percusión.
Notas: Cuando una voz se corresponde a una nota, se suele asociar el Do medio al valor 60. Se considera el rango 0-127 con una resolución de un semitono lo que da una amplitud de 10 octavas que no todos los dispositivos alcanzan. Cuando esto sucede, se ignoran o se trasladan a otra octava.
Pulsación o velocidad: Es la fuerza o velocidad con que se pulsa, mantiene o suelta una voz. Se suele ponderar en escala logarítmica aunque no hay fijado un estándar. 0 es pulsación mínima mientras que 127 es la máxima. En ausencia de esta característica se envía un 64.
Control: Es un parámetro controlable de un sintetizador como el volumen, la afinación… Existen de dos tipos de controles: continuos y conmutados. Suelen equivaler al accionamiento de un interruptor, un potenciómetro, o un pedal.
Control continuo: Tienen una gama de valores posibles como el volumen, ataque y sostenimiento de nota… La especificación MIDI permite que sean de 7 bits (0-127) o de 14 bits (0-16383) aunque, en realidad, se consideran todos de 14 bits, lo que pasa es que, como se modifican los bytes alto y bajo por separado, en distintos mensajes, cuando tenemos uno de 7 bits solo modificamos la parte alta y la parte baja no se utiliza.
Control conmutado: Los conmutadores son controles que solo tienen dos posiciones que suelen ser ON (127) y OFF (0). Cualquier otro valor se ignora.

1.3. Tipos de estados.

Por el cable MIDI circulan dos tipos de bytes:
Bytes de estado: Tienen el MSB (Most Significant Bit) a uno. Son los que indican el tipo de mensaje que se va a enviar.
Bytes de datos: Tienen el MSB a cero. Contienen los parámetros del comando/estado indicado en el byte de estado.
El estado de un dispositivo MIDI determina de qué manera entenderá los siguientes bytes de datos que reciba. Cada estado se alcanza al recibir un byte de estado y se mantiene hasta recibir otro byte de estado que no sea de tiempo real. Los mensajes de tiempo real interrumpen el estado pero no lo cambian.
Estados de ejecución: Solo valido para mensajes de canal (voz y modo). No es necesario reenviar el byte de estado si es el mismo. Los mensajes cuyos grupos de bytes de datos no lleguen completos se ignoraran.
Estados no implementados: Se establece cuando llega un byte de estado de un comando, que, aunque pertenezca al protocolo MIDI, el instrumento no interpreta. El protocolo MIDI propone que se ignore dicho byte y los posteriores bytes de datos.
Estados indefinidos: Bytes de estado que no existen en el protocolo MIDI. Si se envían es debido a un error (apagado o encendido, ruido…) El protocolo MIDI propone que se ignore dicho byte y los posteriores bytes de datos.

1.4. Tipos de mensaje.

Mensajes de canal: Los que van dirigidos a un canal especifico. Dicho canal se indica en los 4 bits bajos del byte de estado y en los 4 altos se indica el comando/estado.

  • De voz: Contienen lo que se toca por un canal.
  • De modo: Se envían por el canal básico del instrumento y son los que definen la respuesta a los mensajes de voz.

Mensajes de sistema: Son los que no se ligan a un canal. Los 4 bits altos de byte de estado están a uno y los bajos indican el comando.

  • Comunes: Dirigidos a todos los canales MIDI.
  • De tiempo real: También van dirigidos a todos los canales pero que interrumpe momentáneamente el ciclo de comunicación. (Son mensajes urgentes)
  • Exclusivos: Comandos específicos de un instrumento. Fijados por el fabricante del mismo cuyo ID encabeza los bytes de datos.

Estado de cambio de modo: En realidad es el estado de cambio de control 1011nnnn donde nnnn indica el canal básico al que afecta. Todas las notas que se estén reproduciendo en el canal se paran.
Modo Omni On: El instrumento puede recibir los mensajes de voz por cualquiera de los canales aunque no sean suyos.
OMNI ON: 1011nnnn 01111101 00000000
Modo Omni Off: Se desactiva. Solo hace caso a los mensajes de los canales propios.
OMNI OFF: 1011nnnn 01111100 00000000
Modo Monofónico: En modo monofónico, un canal se corresponde con una voz. Se indica en los bytes de datos (uuuuuuu) que numero de canales asignados en este modo a partir del canal básico. Si uuuuuuu es cero serán los todos los que tenga el instrumento.
MONOFONICO: 1011nnnn 01111110 0uuuuuuu
Modo Polifónico: Cada canal puede controlar más de una voz simultáneamente.
POLIFONICO: 1011nnnn 01111111 00000000
Desactivar todas las notas: Los cuatro anteriores también lo hacen pero este permite hacerlo sin necesidad de conocer el modo de operación actual ni cambiarlo.
DESACTIVA TODA NOTA: 1011nnnn 01111011 00000000
Modo Control Local ON/OFF: El control local del dispositivo se puede activar o desactivar con este mensaje. Se puede así hacer que el dispositivo solo haga caso al control MIDI. XXXXXXX es 1111111 para activado y 0000000 para desactivado.
CONTROL LOCAL: 1011nnnn 01111010 0XXXXXXX
Reajuste de Controles: Es una función asignada posteriormente al estándar. Lo que hace es inicializar los controles como el volumen y el pitch.
REAJUSTE CONTROLES: 1011nnnn 01111001 00000000


1.6. Mensajes de voces de canal.

Estado Desactivación de voz: Indica que se desactiva una voz (deja de sonar una nota)
El byte de estado es 1000nnnn y se sirve de dos bytes de datos. El primero indica la voz que se desactiva y el segundo la velocidad o fuerza de pulsación con que lo hace.
Estado Activación de voz: Indica que se activa una voz (empieza a sonar una nota)
El byte de estado es 1001nnnn y se sirve de dos bytes de datos. El primero indica la voz que se activa y el segundo la velocidad o fuerza de pulsación con que lo hace, igual que en el de desactivación. Una activación de velocidad 0 es equivalente a una desactivación.
Estado Pulsación de teclado polifónico: Indica una variación de la pulsación de la voz.
El byte de estado es 1010nnnn y comparte el formato que usan Activación y Desactivación para los bytes de datos.
Estado Cambio de control (1011nnnn): Indica un cambio en el valor de un control. Hace servir dos bytes de datos: El primero indica el control que se desea modificar y el segundo el nuevo valor para dicho control. La especificación MIDI solo determina el tipo de los controles pero no restringe el control en concreto al que corresponde cada número.

  • 000-031 Controles continuos (partes altas)
  • 032-063 Controles continuos (partes bajas de los anteriores)
  • 064-095 Controles conmutados
  • 096-120 No definidos en MIDI
  • 121-127 No son controles sino los mensajes de modo de canal explicados anteriormente.

Estado Cambio de programa (1100nnnn): Solo necesita un byte de datos que indica un programa del 0 al 127.
Estado Presión de canal (1101nnnn): Es similar al de Pulsación de teclado polifónico pero afecta a todas las notas del canal especificado. Por lo tanto solo requiere un byte de datos, el de presión.
Estado Modificación del pitch (1110nnnn): De los dos bytes de datos que necesita, el primero es el byte menos significativo y el segundo el mas significativo. El valor central del pitch es 2000h y la sensibilidad de variación del pitch se selecciona en el receptor.

1.7. Mensajes comunes de sistema

Mensaje de trama temporal MIDI (11110001): Lleva un solo byte de datos 0nnnxxxx donde nnn indica el tipo de codificación y xxxx el valor. Para mas información sobre los códigos temporales se aconseja consultar la bibliografía.
Mensaje de posición de canción (11110010): Determina con dos bytes de datos cual es la posición actual de la canción en golpes de ritmo MIDI (un golpe de ritmo cada seis pulsos de reloj). El primero es el menos significativo y el segundo el mas significativo.
Mensaje de selección de canción (11110011): Un solo byte de datos indica el número de canción que será interpretada una vez llegue el mensaje de tiempo real de inicio.
Mensaje de requerimiento de entonación (11110110): Lo utilizan los sintetizadores analógicos (que tiempos aquellos…) para sintonizar sus osciladores. No llego a ver claro su función, pero si algún DIA te las tienes que ver con un analógico y te enteras, no estaría de más que me lo explicases.
Mensaje de fin de exclusivo (11110111): Se utiliza para finalizar los mensajes de sistema exclusivos aunque dicha función la puede realizar cualquier otro byte de estado que no sea de tiempo real. No tiene bytes de datos.
NB: Los mensajes comunes de sistema 11110100 y 11110101 son estados no definidos en la norma hasta una futura ampliación.

1.8. Mensajes de sistema de tiempo real.

Reloj de temporización (11111000): El sistema, si lo envía, lo hace con una candencia de 24 por cuarto de nota.
Inicio (11111010): El sistema lo envía al iniciar una pieza. Generalmente es el instrumento maestro quien lo hace.
Continuación (11111011): El sistema lo envía cuando quiere continuar tocando una pieza que ha parado. Se empezara a tocar en el siguiente pulso de reloj.
Parada (11111100): El sistema lo envía para detener la secuencia.
Espera activa (11111110): El sistema lo envía cada 300 milisegundos. Los sistemas MIDI no están obligados a hacerlo, ni receptor ni transmisor. En el caso de que un receptor reconozca dicho mensaje, una vez que reciba uno, si antes de 300 milisegundos no ha recibido otro mensaje de cualquier tipo, desactivara las voces y volverá a modo de operación normal. Si un transmisor lo envía, lo tendrá de hacer cada 300 milisegundos de inactividad si no quiere que algunos receptores se descuelguen.
Reset del sistema (11111111): Resetea todos los instrumentos que lo reciben.
NB: Los mensajes de tiempo real 11111001 y 11111101 son estados no definidos en la norma hasta una futura ampliación.


1.9. Mensajes de sistema exclusivos

Estos mensajes sirven para ampliar los estándares MIDI para un instrumento en concreto. Empiezan con el byte de estado 11110000. Los bytes de datos que siguen identifican el fabricante. A partir de hache el formato depende de el fabricante, por eso es esencial que si el fabricante no es el correcto, el mensaje se ignore.
Los mensajes exclusivos de sistema van dirigidos a todos los canales por lo que si hay dos instrumentos del mismo tipo, ambos lo recibirán. Por esta razón, generalmente se incluye en el formato de fabricante algún tipo de direccionado basado en canal MIDI o no.
El estado acaba cuando entra un mensaje de fin de exclusivo (11110111) o cualquier otro byte de estado que no sea de tiempo real.

1.10. Controles MIDI

CONTROLES ESPECIFICADOS (HEX)

Ajuste MSB

00 Selección de banco (coarse)
01 Modulation Wheel (coarse)
02 Breath controller (coarse)
04 Foot Pedal (coarse)
05 Portamento Time (coarse)
06 Data Entry (coarse)
07 Volume (coarse)
08 Balance (coarse)
0A Pan position (coarse)
0B Expression (coarse)
0C Effect Control 1 (coarse)
0D Effect Control 2 (coarse)

10 General Purpose Slider 1
11 General Purpose Slider 2
12 General Purpose Slider 3
13 General Purpose Slider 4

Ajuste LSB

20 Bank Select (fine)
21 Modulation Wheel (fine)
22 Breath controller (fine)
24 Foot Pedal (fine)
25 Portamento Time (fine)
26 Data Entry (fine)
27 Volume (fine)
28 Balance (fine)
2A Pan position (fine)
2B Expression (fine)
2C Effect Control 1 (fine)
2D Effect Control 2 (fine)

Interruptores

40 Hold Pedal (on/off)
41 Portamento (on/off)
42 Sustenuto Pedal (on/off)
43 Soft Pedal (on/off)
44 Legato Pedal (on/off)
45 Hold 2 Pedal (on/off)

50 General Purpose Button 1 (on/off)
51 General Purpose Button 2 (on/off)
52 General Purpose Button 3 (on/off)
53 General Purpose Button 4 (on/off)

Generación de sonido

46 Sound Variation
47 Sound Timbre
48 Sound Release Time
49 Sound Attack Time
4A Sound Brightness
4B Sound Control 6
4C Sound Control 7
4D Sound Control 8
4E Sound Control 9
4F Sound Control 10

Efectos

5B Effects Level
5C Tremulo Level
5D Chorus Level
5E Celeste Level
5F Phaser Level

Parámetros

60 Data Button increment
61 Data Button decrement
62 Non-registered Parameter (fine)
63 Non-registered Parameter (coarse)
64 Registered Parameter (fine)
65 Registered Parameter (coarse)

Modo de canal

78 All Sound Off
79 All Controllers Off
7A Local Keyboard (on/off)
7B All Notes Off
7C Omni Mode Off
7D Omni Mode On
7E Mono Operation
7F Poly Operation

Los parámetros son una puerta abierta al límite de los 128 controles MIDI. Se agrupan en dos grupos, los registrados, que dependen de las especificaciones, y los no registrados disponibles para los implementadores. Permiten asociar los números del 0 al 63.383 a cualquier parámetro de un aparato y controlarlo vía MIDI.
Para hacerlo primero hemos de indicar la parte alta y la parte baja del número del parámetro con los mensajes de control adecuados: 62h y 63h para los no registrados o 64h y 65h para los registrados. Una vez seleccionado el parámetro, utilizamos otros controles para incrementar el parámetro una cantidad (61h), decrementarlo (60h), fijar los 7 bits más significativos (06h) o los menos significativos (26h).

Controles Para Cambiar Parámetros (HEX)

06

Ajuste brusco del parámetro (MSB)

26

Ajuste fino del parametro (LSB)

60

Decrementa el parámetro en una cantidad

61

Incrementa el parámetro en una cantidad

62

Indica un parámetro no registrado a ajustar (LSB)

63

Indica un parámetro no registrado a ajustar (MSB)

64

Indica un parámetro registrado a ajustar (LSB)

65

Indica un parámetro registrado a ajustar (MSB)


 

2. Aparatos MIDI

A parte de los instrumentos, los generadores de sonido y los secuenciadores, existen otros elementos más discretos, pero igual de útiles en una configuración MIDI, gracias a los cuales podemos sacarle un mayor partido.
Hoy en día muchos de los elementos aquí citados, suelen estar acoplados entre si en una sola unidad. El ejemplo mas claro de esto es el ordenador que, gracias a su versatilidad, prácticamente, puede hacer las funciones de cualquier elemento MIDI. Aun asi, no siempre se amortiza un equipo que haga demasiadas funciones.
Los elementos pueden hacer tres tipos de funciones:

  • Generador MIDI: Son las fuentes de mensajes MIDI.
  • Consumidor MIDI: Transforma el mensaje MIDI en sonido (generador de sonido) o otro tipo de señal (VideoMIDI, psicodélicos…)
  • Procesador MIDI: Reciben MIDI y emiten MIDI haciendo algún tipo de proceso.

Protocolos como el MIDI han permitido que se pueda separar el instrumento en sí, y el aparato que genera el sonido, de tal forma un teclado mudo, por ejemplo, tan solo enviaría mensajes MIDI que directamente a otro modulo generador de sonidos que es el que suena realmente.
Un generador de sonidos puede ser un sintetizador, un sampler, un ordenador… cualquier elemento MIDI que genere sonido.
Es muy importante el grado de configurabilidad de un teclado mudo. Lo más normal es que ofrezca sensibilidad a la expresión (velocidad de pulsación) y que ofrezca la posibilidad de enviar mensajes de control mediante uno o varios pedales o palancas incorporadas.

2.3. Pedales y palancas MIDI

Los mensajes de control, en general, necesitan otro tipo de entrada por parte del intérprete que no puede ser por teclado. Para ello, no hay nada mejor que un pedal que deje las manos libres.
Los pedales MIDI son unos pedales especiales que envían un determinado mensaje de control (configurable o no) al teclado o directamente a la cadena MIDI. Los hay, también, que modifican el pitch, la pulsación…
Las palancas o ruedas suelen estar incorporadas en los teclados. La función es parecida pero ahora es el teclado mismo quien genera la mensajera MIDI. Las ruedas casi siempre hacen funciones de pitch pero también las hay configurables.
También hay una serie de pedales que no son MIDI, que dependen del teclado. Estos pedales no envían al teclado mensajes MIDI, pero sirven para modificar la interpretación del teclado y, en consecuencia, su salida MIDI, de forma similar a las ruedas.

2.4. Secuenciador

Un secuenciador permite generar secuencias MIDI en frío para reproducirlas después de forma sincronizada. Por lo general, el aparato ofrece la posibilidad de crear la secuencia con un método que consiste en llenar los espacios de un compás con determinadas notas. No tenemos, pues, que interpretarla con un instrumento.
Esta claro que si nos ceñimos a los 16 espacios que suele tener el secuenciador y a poner o no una nota, se limita mucho la expresividad de las secuencias por lo que, además se nos permite variar varios parámetros de cada uno de los 16 slots: Retardo, si se prolonga al siguiente slot, si hay un slide o el valor de uno o varios controles del generador de sonidos.
También existen los llamados DNA. Un DNA es una serie de parámetros de retardo, énfasis… que se recogen a partir de un intérprete real y que se aplican a la secuencia en cuestión. Dan mucha mas personalidad dado que cada intérprete y cada estilo tienen su propio DNA. Tan solo tengo noticias de DNA’s aplicados a las secuencias de percusión, pero pronto se aplicaran también a otro tipo de secuencias.

2.5. Lanzadores

Un lanzador es un modulo que almacena secuencias MIDI y que, a una señal de el interprete, lanza una o otra secuencia a la cadena. El modulo que hace de lanzador, suele permitir guardar las secuencias en un soporte no volátil.
La función de lanzador de secuencias suele estar en el teclado o en el ordenador.

2.6. Arpegiadores y armonizadores

El arpegiador es un modulo que a partir de un acorde y un patrón, genera la secuencia MIDI para el correspondiente arpegio.
El armonizador hace lo propio agregando, a la secuencia MIDI, las notas de acompañamiento que armonizan con lo que le entra.
Estos dos módulos suelen estar incluidos en teclados, secuenciadores y lanzadores.
En cuanto a dispositivos originadores de mensajes MIDI la variedad de funciones no va mucho mas allá de los explicado y de los clásicos instrumentos MIDI: Guitarras, Saxofones, Cajas de ritmos…


2.7. Generador de sonidos sintetizados (sintetizador)

En su mayor parte, los consumidores de mensajes MIDI son generadores de sonido aunque bien pueden ser tan variados (psicodélicos, autómatas MIDI, transcriptores de partituras… imaginación)
Existen dos grandes familias de generadores de sonidos: Los sintetizadores y los samplers.
Un sonido sintetizado es aquel que se produce a partir del procesado analógico o digital de una o varias señales simples. Las señales simples que mas se utilizan son las ondas triangulares, de dientes de sierra, sinusoidales, cuadradas… Los procesos mas extendidos son la modulación, el filtrado frecuencial, la distorsión, las envolventes…
La mayoría de procesos (digitales o analógicos) dependen de una serie de parámetros que se modifican para obtener un sonido u otro. Hay un tutorial especialmente dedicado a explicar este tipo de generación de sonidos.
Los sintetizadores suelen tener un banco de sonidos donde guardan los parámetros de cada uno, y, por lo general, permiten que se programen nuevos.

2.8. Generador de sonidos basado en grabaciones (sampler)

Este tipo de generador no parte de una onda simple sino de una onda grabada. Necesitan mucha mas memoria para almacenar los sonidos pero se obtienen sonidos bastante mas verosímiles.
Los samplers también aplican filtros, envolventes y otros procesos a la señal para dar mayor expresividad al sonido.
Se puede encontrar más información sobre las técnicas sampleado en los otros tutoriales.
Las muestras de sonido son siempre digitales pero los procesos también pueden ser digitales o analógicos.

2.9. Caja THRU

Una caja THRU es un simple aparato que tiene una entrada IN y n salidas THRU. Sencillamente duplica la entrada en las salidas, dividiendo la cadena MIDI en n cadenas (configuración en estrella). De esta manera se pueden evitar cadenas excesivamente largas y los problemas que estas comportan.
En cadenas largas se produce, por ejemplo, el problema del retardo debido al tiempo que tarda en llegar un mensaje del primer al último elemento.
También existe el problema de la degradación. Cada vez que la señal pasa por un elemento las transiciones de la señal se hacen mas tenues, y, al final, acaban siendo indistinguibles.

2.10. Filtro MIDI

El filtro MIDI es un aparato que elimina de forma selectiva mensajes MIDI. Tiene una entrada IN y una salida OUT. Los hay específicos o programables según se pueda o no elegir el tipo de mensaje a filtrar.
Hay que tener cuidado al diseñar filtros, pues, si simplemente se eliminan los mensajes a filtrar, cabe la posibilidad que el resto de mensajes queden inconsistentes.
Un filtro permite reducir el nivel de mensajes que circulan por la cadena para que no se produzca saturación. La saturación es el hecho de que un puerto MIDI no pueda procesar todos los mensajes que le llegan más los que genera.
Los filtros son también una opción muy buena para controlar los instrumentos que solo pueden funcionar en modo Omni para que formen parte de una cadena. Los instrumentos Omni no hacen selección de canal por lo que no podemos direccionar mensajes solo a un instrumento, sin que el Omni también lo toque, pero si introducimos antes del instrumento Omni un filtro para los mensajes de un canal determinado, podría funcionar correctamente.

2.11. Canalizador MIDI

La función del canalizador es transportar los mensajes dirigidos a cierto canal hacia otro, pues no siempre podemos hacer coincidir el canal de salida de un aparato y el de entrada de otro.

2.12. Monitor MIDI

Sirve para visualizar el tipo de mensajes que circulan por un punto en la cadena. Generalmente, suele constar de una serie de LED’s que se iluminan cuando estos mensajes pasan.

2.13. Multiprocesador

Los multiprocesadores son aparatos programables basados en un microprocesador. Estos aparatos permiten realizar cualquier tipo de proceso a la secuencia de mensajes MIDI que nuestra habilidad como programadores nos permita.
Hoy en día este tipo de tarea la suele realizar un ordenador, pero a veces, un ordenador tiene un tiempo de respuesta (latencia MIDI) excesivo para que la secuencia no se demore demasiado.
Un ordenador tiene, a menudo, otras cosas a las que atender y se produce lo que se llama una alta latencia MIDI, es decir, se tarda demasiado en responder. Por eso, a veces, es aconsejable dedicar uno de estos pequeños procesadores exclusivamente al proceso MIDI.


General MIDI es un estándar, añadido a MIDI, que intenta garantizar que la música realizada en un equipo de un fabricante se pueda interpretar en otro equipo de un fabricante diferente y suene de forma similar a como fue concebido.
Un dispositivo General MIDI ha de cumplir los siguientes requisitos:

  • Los canales del 1 al 16 han de tener una polifonía mínima de 24 voces cada uno.
  • El canal 10 reservado para instrumentos de percusión y el resto para los melódicos.
  • Los números de programa asociados a un conjunto estándar de 128 instrumentos.
  • Un kit de percusión estándar para usar en el canal 10.
  • Reconocer como mínimo un subconjunto de controles de los controles recomendados.
  • Ha de ser sensible a la velocidad.
  • Recorrido de la rueda picht bend de +/- 2 semitonos.

El kit de instrumentos que define General MIDI se compone de 16 grupos con 8 instrumentos cada uno. Los grupos definidos son los siguientes:

Piano

percusión Cromática

00 Acoustic Grand Piano
01 Bright Acoustic. G.Piano
02 Electric Grand Piano
03 Honky-tonk Piano

04 Rhodes Piano
05 Chorused Piano
06 Harpsichord
07 Clavinet

08 Celesta
09 Glockenspiel
0A Music box
0B Vibraphone

0C Marimba
0D Xylophone
0E Tubular Bells
0F Dulcimer

Órganos

Guitarra

10 Hammond Organ
11 Percussive Organ
12 Rock Organ
13 Church Organ

14 Reed Organ
15 Accordion
16 Harmonica
17 Tango Accordion

18 Acoustic Guitar1
19 Acoustic Guitar2
1A Electric Guitar1
1B Electric Guitar2

1C Electric Guitar3
1D Overdrive Guitar
1E Distortion Guitar
1F Guitar Harmonics

Bajo

Cuerda

20 Acoustic Bass
21 Electric Bass 1
22 Electric Bass 2
23 Fretless Bass

24 Slap Bass 1
25 Slap Bass 2
26 Synth Bass 1
27 Synth Bass 2

28 Violin
29 Viola
2A Cello
2B Contrabass

2C Tremolo Strings
2D Pizzicato StringS
2E Orchestral Harp
2F Timpani

Ensemble

Metales

30 String Ensemble1
31 String Ensemble2
32 SynthStrings 1
33 SynthStrings 2

34 Choir Aahs
35 Voice Oohs
36 Synth Voice
37 Orchestra Hit

38 Trumpet
39 Trombone
3A Tubah
3B Muted Trumpet

3C French Horn
3D Brass Section
3E Synth Brass 1
3F Synth Brass 2

Lengüetas

Tubos

40 Soprano Sax
41 Alto Sax
42 Tenor Sax
43 Baritone Sax

44 Oboeh18
45 English Horn
46 Bassoon
47 Clarinet

48 Piccolo
49 Flute13
4A Recorder
4B Pan Flute

4C Bottle Blow
4D Shakuhachi
4E Whistle
4F Ocarina

Sintetizador solista

Sintetizador Acompañamiento

50 Lead 1 square
51 Lead 2 sawtooth
52 Lead 3 caliope
53 Lead 4 chiff

54 Lead 5 charang
55 Lead 6 voice
56 Lead 7 fifths
57 Lead 8 brass

58 Pad 1 new age
59 Pad 2 warm
5A Pad 3 polysynth
5B Pad 4 choir

5C Pad 5 bowed
5D Pad 6 metallic
5E Pad 7 halo
5F Pad 8 sweep

Sintetizador Efectos

Etnicos

60 FX 1 rain
61 FX 2 soundtrack
62 FX 3 crystal
63 FX 4 atmosphere

64 FX 5 brightness
65 FX 6 goblins
66 FX 7 echoes
67 FX 8 sci-fi

68 Sitar4
69 Banjo5
6A Shamisen
6B Kotoh7

6C Kalimba
6D Bagpipe
6E Fiddlet
6F Shanai0

percusión

Efectos

70 Tinkle Bell
71 Agogo13
72 Steel Drums
73 Woodblock

74 Taiko Drum
75 Melodic Tom
76 Synth Drum
77 Reverse Cymbal

78 Guitar FretNoise
79 Breath Noise
7A Seashore
7B Bird Tweet

7C Telephone Ring
7D Helicopter
7E Applause
7F Gunshot

El kit de percusión define los elementos sonoros que irán asociados a algunas de las voces que se tocan por el canal 10.

Voz

Sonido Asociado

Voz

Sonido Asociado

35

Acoustic Bass Drum

59

Ride Cymbal 2

36

Bass Drum 1

60

Hi Bongo

37

Side Stick

61

Low Bongo

38

Acoustic Snare

62

Mute Hi Conga

39

Hand Clap

63

Open Hi Conga

40

Electric Snare

64

Low Conga

41

Low Floor Tom

65

High Timbale

42

Closed Hi-Hat

66

Low Timbale

43

HighFloorTom

67

High Agogo

44

Pedal Hi-Hat

68

Low Agogo

45

Low Tom

69

Cabasa

46

Open Hi-Hat

70

Maracas

47

Low-Mid Tom

71

Short Whistle

48

Hi-Mid Tom

72

Long Whistle

49

Crash Cymbal 1

73

Short Guiro

50

High Tom

74

Long Guiro

51

Ride Cymbal 1

75

Claves

52

Chinese Cymbal

76

Hi Wood Block

53

Ride Bell

77

Low Wood Block

54

Tambourine

78

Mute Cuica

55

Splash Cymbal

79

Open Cuica

56

Cowbell

80

Mute Triangle

57

Crash Cymbal 2

81

Open Triangle

58

Vibraslap

 

 

Es necesario, como mínimo que un dispositivo General MIDI reconozca los siguientes controles:

# Control

Descripción

Comentarios

1

Modulation

usually hard-wired to control LFO amount, ie, vibrato),

7

Main Volume

 

10

Pan

 

11

Expression

 

64

Sustain

 

121

Reset All Controllers

 

123

All Notes Off

 

Lo que siguen son recomendaciones, no requisitos.
Parámetros registrados MIDI

  • Pitch Wheel Bend Range (0),
  • Fine Tuning (1),
  • Coarse Tuning (2).

Si se incluyen los parámetros de afinación, la afinación inicial deberá ser la referencia estándar: 440 Hz para el La medio.
Recomendaciones sobre mensajes exclusivos de sistema:
General MIDI On:

0xF0    Byte de Estado (SysEX)
0x7E    Fabricante: Universal Non-Real Time
[dd]    Identificador de dispositivo destino (0x7F para Broadcast)
0x09    Protocolo: General MIDI Message
0x01    Mensaje: General MIDI On
0xF7    Fin de SysEx
 

General MIDI Off:

0xF0    Byte de Estado (SysEX)
0x7E    Fabricante: Universal Non-Real Time
[dd]    Identificador de dispositivo destino (0x7F para Broadcast)
0x09    Protocolo: General MIDI Message
0x02    Mensaje: General MIDI Off
0xF7    Fin de SysEx
  • Roland GS Mode: F0 41 10 42 12 40 00 7F 00 41 F7
  • GM Master Volume: F0 7F 7F 04 01 ll mm F7 (ll=LSB, mm=MSB – use 7F 7F for maximum volume)
  • GM Master Balance: F0 7F 7F 04 02 ll mm F7 (ll=LSB, mm=MSB – use 00 40 for centre balance)

NOTA: Los cambios de volumen y balanceado como SysEx se difieren del cambio de control en que los controles se refieren al canal y los SysEx al dispositivo.

Los archivos SMF (Standard MIDI Files) se utilizan para almacenar secuencias MIDI y casi siempre llevan la extensión .MID. Un archivo SMF puede contener varias secuencias MIDI, cada una, en una pista o track.
El formato de estos archivos los distribuye en chunks. El primer chunk es el de cabecera, o header chunk, y el resto son chunks de pistas, o track chunks.
Cada chunk va precedido por cuatro bytes de identificación y cuatro más que indican la longitud en bytes del resto del chunk. Después viene el contenido.

4.2. Chunk de cabecera

El identificador del chunk de cabecera es ‘MThd’. La longitud de este chunk siempre es la misma, 6 bytes. Los dos primeros bytes determinan el tipo de fichero.

  • 0 Pista Única.
  • 1 Pista Múltiple síncrona. Todas las pistas empiezan al mismo tiempo y llevan el mismo reloj.
  • 2 Pista Múltiple asíncrona. Cada pista puede empezar cuando quiera y además tiene un clock propio.

Los siguientes dos bytes codifican el numero de pistas del fichero y los dos últimos el numero de tiempos de delta por cuarto de nota cuyo significado se vera mas adelante.

4.3. Chunk de pista

Los chunks de pista tienen el identificador ‘MTrk’. Una vez indicada la longitud del chunk vienen los eventos MIDI. Cada evento MIDI viene precedido por un tiempo de delta que tiene que pasar antes de enviarlo.
Dicho tiempo de delta se especifica de la siguiente manera: Se divide el número de deltas en palabras de 7 bits. Se completa cada palabra con el bit 7 (el mas significativo) para tener bytes completos. El bit 7 será 1 en todas las palabras menos en la palabra menos significativa que valdrá 0. En el fichero las palabras se colocan de mas a menos significativas de tal forma que, cuando leamos la menos significativa (bit 7=0), sabemos que ha acabado la delta y empieza un evento. El ultimo evento de cada track ha de ser el (meta) evento 2Fh 00h.

4.4. Metaeventos

Los metaeventos son eventos utilizados en los SMF que no están definidos en el estándar MIDI. Siguen el formato:
FF xx nn dd…
Empiezan todos con FF (11111111) seguido del identificador del comando (xx), la longitud de los datos en bytes (nn) y los datos propiamente dichos (dd…)
Cuidado: Estos mensajes no se deben de enviar a la ligera por el puerto MIDI pues un FF significa un Reset del sistema.
Aquí tenéis algunos de los más utilizados:

Hex

Binary

Data

Description

00

00000000

nn ssss

Número de Track.
nn=02 (length of 2-byte sequence number)
ssss=sequence number

01

00000001

nn tt …

Evento de Texto
nn=length in bytes of text
tt=text characters

02

00000010

nn tt …

Información de Copyright.
nn tt=same as text event

03

00000011

nn tt …

Nombre del Track.
nn tt=same as text event

04

00000100

nn tt …

Nombre del Instrumento del Track.
nn tt=same as text event

05

00000101

nn tt …

Letra de la canción.
nn tt=same as text event

06

00000110

nn tt …

Marcador.
nn tt=same as text event

07

00000111

nn tt …

Cue point
nn tt=same as text event

2F

00101111

00

Finalizador de track.

51

01010001

03 tttttt

Ajuste del tempo
tttttt=microseconds/quarter note

58

01011000

04 nn dd cc bb

Time Signature
nn=numerator of time sig.
dd=denominator of time sig. 2=quarter, 3=eighth, etc.
cc=number of ticks in metronome click
bb=number of 32nd notes to the quarter note

59

01011001

02 sf mi

Key signature
sf=sharps/flats (-7=7 flats, 0=key of C, 7=7 sharps)
mi=major/minor (0=major, 1=minor)

7F

01111111

xx dd …

Información específica del secuenciador
xx=number of bytes to be sent
dd=data


 

Existen toda una serie de funciones de control sobre el tiempo, y de sincronización de los relojes de los dispositivos conectados a una cadena MIDI.
Por un lado existe el mensaje de reloj de sistema o metrónomo (F7h). Es un mensaje de tiempo real que, si se envía, se hace con una candencia continua de 24 veces cada cuarto de nota negra (o pulsación). Si variamos el tempo, se varía dicha candencia.
También tenemos el mensaje de puntero de canción (F2h). Es un mensaje común de sistema que indica la posición dentro de la canción. Dicha posición, que se viene indicada en dos bytes de datos, es un número que se incrementa cada 6 tic de reloj y, por tanto, si los tic de reloj eran 24 por negra, cada 16 unidades incrementadas del puntero corresponden a una nota negra. Una canción que utilice el puntero de canción podría tener una duración máxima de 1024 tiempos (negras).
Tanto el reloj como el puntero de canción son útiles para controlar y sincronizar elementos MIDI que tengan que adaptarse al tempo del resto del sistema como un arpegiador o una línea de bajo o percusión.
Paralelamente, tenemos el mensaje de trama temporal MIDI o MIDI Time Code (F1h). Es un mensaje común de sistema que determina la posición actual en la canción pero utilizando una codificación SMPTE (Society of Motion Picture and Television Engineers).
La codificación SMPTE es un estándar comercial de codificación del tiempo en dispositivos no musicales. La utilizaremos para controlar cintas de audio, aparatos de video y otros aparatos que no entienden lo que es un compás, una nota o el tempo. SMPTE establece una subdivisión temporal en horas, minutos, segundos y frames. El número de frames por segundo se especifica según el formato SMPTE usado.

Formato SMPTE

Frames/segundo

Usado en

0

24

Cine

1

25

video Europeo (Sistema PAL)

2

30 (non drop)

Audio

3

29,97 (30 drop)

Video USA (Sistema NTSC)

NOTA: El formato 3 de SMPTE es un poco mas complejo que los otros, pues no se trata de un número entero de frames por segundo. Lo que se hace es contar 30 frames pero colarnos (drop) los dos primeros frames de cada minuto excepto si el minuto es múltiple de 10 que no nos saltamos ninguno. Esto da una media de 29.97 frames/minuto.
Para formar una trama MTC completa utilizamos de 8 mensajes MTC (F1h). Se envía una trama completa cada dos frames, por tanto, un mensaje cada cuarto de frame. El byte de datos del mensaje MTC tiene el formato 0nnnxxxx donde:

nnn

Significado de xxxx

0

4 bits bajos de Frames

1

4 bits altos de Frames

2

4 bits bajos de Segundos

3

4 bits altos de Segundos

4

4 bits bajos de Minutos

5

4 bits altos de Minutos

6

4 bits bajos de Horas

7

Bit alto de Horas y Formato SMPTE utilizado

Vemos que necesitamos los ocho mensajes para codificar una posición SMPTE. Si el MTC va hacia adelante, los mensajes se envían de 0 a 7. Si va hacia atrás, los mensajes se envían en orden inverso. Se supone que los dos frames ocurren exactamente en el mensaje 0 y 4.
También se puede especificar rápidamente el MTC con un solo mensaje SysEx Universal RealTime. Esto tiene la aplicación de hacer saltar rápidamente hacia atrás o hacia adelante a un dispositivo.
Mensaje de especificación rápida de MTC

0xF0    Byte de estado (SysEx)
0x7F    Fabricante: Universal Real Time
[dd]    Identificador de dispositivo destino (0x7F para Broadcast)
0x01    Protocolo: MIDI Time Code
0x01    Mensaje: Full Time Code Message
[hr]    Horas y Formato SMPTE
[mn]    Minutos
[se]    Segundos
[fr]    Frames
0xF7    Fin de SysEx

También se pueden especificar bits de usuario de SMPTE. Algunos dispositivos SMPTE los utilizan para propósitos propios. En principio, están pensados para almacenar 8 dígitos decimales que podrían tener el contador de vueltas en una cinta, por ejemplo.
Mensaje de especificación de bits de usuario

0xF0    Byte de estado (SysEx)
0x7F    Fabricante: Universal Real Time
[dd]    Identificador de dispositivo destino (0x7F para Broadcast)
0x01    Protocolo: MIDI Time Code
0x02    Mensaje: MIDI Time Code User Bits
[u1]    0000aaaa 
[u2]    0000bbbb 
[u3]    0000cccc 
[u4]    0000dddd
[u5]    0000eeee 
[u6]    0000ffff 
[u7]    0000gggg 
[u8]    0000hhhh 
[u9]    000000ii
0xF7    Fin de SysEx

Los bits ‘i’ son Flags y los otros son datos que están pensados para representar dígitos decimales por eso los cuatro bits de arriba están a 0: para representar un digito decimal de 0 a 9 solo hace falta 4 bits.

5.2. Sample Dump Standard

La extensión SDS del MIDI esta pensada para que los dispositivos MIDI se intercambien samples entre ellos cuando no tienen otra forma mas rápida de hacerlo, por que no hay una interfaz adecuada como podría ser una interfaz SCSI.
SDS No esta pensada para usarse en medio de una interpretación pues ocupa mucho del ancho de banda. SDS esta pensado pues, para usarse en el momento anterior a dicha representación, o mediante un puerto MIDI alternativo.
La utilidad más directa del volcado de samples, es aprovechar la memoria de un ordenador o de un dispositivo de almacenaje independiente para que un instrumento, normalmente un sampler, pueda ampliar su banco de instrumentos más allá de su propia memoria.
SDS, en conjunción con los Standard MIDI Files, también sirve de estándar de almacenamiento de samples. También da la posibilidad de editar dichos instrumentos con un software adecuado.
SDS define protocolos para acordar el envío entre los dos extremos o bien enviarlo abiertamente sin ningún tipo de acuerdo previo a toda la cadena MIDI.

5.3. MIDI General Information

Esta extensión sirve para obtener una serie de información sobre los dispositivos conectados a la cadena MIDI. Se basa en dos mensajes exclusivos de sistemas universales (no propietarios):
Device Identity Request Message:

0xF0    Byte de estado (SysEx)
0x7E    Fabricante: Universal Non-Real Time
[dd]    Identificador de dispositivo destino (0x7F para Broadcast)
0x06    Protocolo: General Information
0x01    Mensaje: Requerimiento de Identidad
0xF7    Fin de SysEx

Device Identity Reply Message:

0xF0    Byte de estado (SysEx)
0x7E    Fabricante: Universal Non-Real Time
[dd]    Identificador de dispositivo destino (0x7F para Broadcast)
0x06    Protocolo: General Information
0x02    Mensaje: Respuesta de Requerimiento de Identidad
[id]    Identificador de Fabricante (1 o 3 Bytes)
[fl]    Código de Familia del dispositivo (LSB)
[fm]    Código de Familia del dispositivo (MSB)
[ml]    Código de Miembro de la familia (LSB)
[mm]    Código de Miembro de la familia (MSB)
[ver]   Versión del Software (4 Bytes)
0xF7    Fin de SysEx
 

Esta extensión permite acceder a la afinación de cada una de las voces de cada programa de un dispositivo MIDI. Una tabla de afinación consiste en una lista de valores de afinación para cada voz MIDI de un programa.
La afinación de cada voz se codifica con 3 bytes. Como son bytes de datos (7 bits útiles) tenemos un margen de 21 bits por nota. El primero de los 3 bytes indica la nota por encima de la que se afina, los dos bytes siguientes son un número positivo que subdividen el intervalo entre esa nota y el siguiente semitono más agudo en 214 divisiones. Tenemos una precisión tal que se nos permite ajustar la afinación 0’006125 centésimas de semitono.
Mensaje de requerimiento de volcado de las tablas de afinación:

0xF0    Byte de estado (SysEx)
0x7E    Fabricante: Universal Non-Real Time
[dd]    Identificador de dispositivo destino (0x7F para Broadcast)
0x08    Protocolo: MIDI Tuning Standard
0x00    Mensaje: Bulk Dump Request
[pp]    Numero de programa que se quiere afinar
0xF7    Fin de SysEx

Mensaje de volcado de tablas de afinación:

0xF0    Byte de estado (SysEx)
0x7E    Fabricante: Universal Non-Real Time
[dd]    Identificador de dispositivo destino (0x7F para Broadcast)
0x08    Protocolo: MIDI Tuning Standard
0x01    Mensaje: Bulk Dump
[pp]    Numero de programa que se quiere afinar
[name]  Nombre del programa (16 caracteres ASCII no extendidos)
[data]  Datos de la tabla de afinación
        (128 notas * 3 bytes) [Tono Base]-[Parte alta]-[Parte baja]
[cc]    Checksum
0xF7    Fin de SysEx

Este mensaje se puede utilizar tanto para extraerlas como para cambiarlas dependiendo de quien lo envíe.
El valor de Checksum se calcula haciendo la XOR de todos los bytes de datos hasta antes del propio checksum.
Mensaje de cambio de afinación de voces concretas:

0xF0    Byte de estado (SysEx)
0x7F    Fabricante: Universal Real Time
[dd]    Identificador de dispositivo destino (0x7F para Broadcast)
0x08    Protocolo: MIDI Tuning Standard
0x02    Mensaje: Note Change
[pp]    Numero de programa que se quiere afinar
[nn]    Numero de Notas a cambiar
[data]  Datos de la tabla de afinación (+ voz a la que pertenecen)
        (nn notas * 4 bytes) [Voz]-[Tono Base]-[Parte alta]-[Parte baja]
0xF7    Fin de SysEx

Hay que tener en cuenta que en este mensaje es necesario indicar la voz a la que pertenece cada dato de afinación. En los mensajes de volcado no era necesario pues se enviaba toda la tabla ordenada.

5.5. Otras ampliaciones MIDI

Notation Information
Los mensajes de notación informan, en tiempo real, de las claves, las armaduras, las líneas de compás… Su aplicación es clara: la representación grafica de partituras.
Utiliza el protocolo SysEx Universal RealTime 03h. Los dos siguientes mensajes cambian el tipo de compás. El mensaje asíncrono lo hace en el momento de recepción y el otro se espera a que acabe el compás actual.
Cambio asíncrono de tipo de compás:

0xF0    Byte de estado (SysEx)
0x7F    Fabricante: Universal Real Time
[dd]    Identificador de dispositivo destino (0x7F para Broadcast)
0x03    Protocolo: Notation Information
0x02    Mensaje: Asyncron Signature Change
[ln]    Numero de Bytes que siguen (3 si no es una clave compuesta)
[nn]    Numerador de la clave
[dd]    Denominador de la clave será la potencia de dos: 2dd
[qq]    Numero de 1/32 de nota notada en un cuarto de nota MIDI.
[parejas nn dd] Opcional para las compuestas
0xF7    Fin de SysEx

Cambio síncrono de tipo de compás:

0xF0    Byte de estado (SysEx)
0x7E    Fabricante: Universal Real Time
[dd]    Identificador de dispositivo destino (0x7F para Broadcast)
0x03    Protocolo: Notation Information
0x42    Mensaje: Syncron Signature Change
[ln]    Numero de Bytes que siguen (3 si no es una clave compuesta)
[nn]    Numerador de la clave
[dd]    Denominador de la clave será la potencia de dos: 2dd
[qq]    Numero de 1/32 de nota notada en un cuarto de nota MIDI.
[parejas nn dd] Opcional para las compuestas
0xF7    Fin de SysEx

Barra de fin de compas:

0xF0    Byte de estado (SysEx)
0x7F    Fabricante: Universal Real Time
[dd]    Identificador de dispositivo destino (0x7F para Broadcast)
0x03    Protocolo: Notation Information
0x01    Mensaje: Bar Marker
[lb]    Numero de barra (LSB)
[mb]    Numero de barra (MSB)
0xF7    Fin de SysEx

El número de barra es un entero con signo positivo.

Real Time Cueing
Los ‘cue’ son puntos de interés que se insertan en la representación. Los cues se colocan en diversos puntos a lo largo del tiempo, por lo que van de la mano del MIDI Time Code. Consiste en un conjunto de 14 mensajes que permiten posicionarlos para cualquier dispositivo compatible.
Utiliza el protocolo SysEx Universal RealTime 05h.
MIDI File Dumps
Es una extensión del protocolo que estandariza la forma de transmitir ficheros vía MIDI. Las aplicaciones más directas son la transmisión de ficheros MIDI, samples en formato propietario (no compatible con SDS) o cualquier tipo de información de configuración. Cada fabricante implementaba su forma de hacerlo por lo que se estableció, finalmente, este estándar.
Utiliza el protocolo SysEx Universal Non-RealTime 07h.
MIDI Show Control
Esta extensión pretende dar herramientas para controlar, de una forma estándar, equipo, que pese a no ser musical, forme parte de una representación: Luces, fuegos artificiales, aparatos de video, maquinaria de escenario…
Utiliza el protocolo SysEx Universal RealTime 02h.
MIDI Machine Control
Es un protocolo de mensajes exclusivos de sistema universales para controlar sistemas de producción multimedia. Tiene bastantes vías de expansión futura, aunque actualmente solo estandariza como controlar sistemas de audio y video.
Utiliza los protocolos SysEx Universal RealTime 06h (comandos) y SysEx Universal RealTime 07h (respuestas).





Si te ha parecido interesante únete a nuestra comunidad de FACEBOOK y compartelo con tus amigos.





Articulos relacionados:


No olvides compartir CURSO DE MUSICA MIDI en tus redes sociales :-)
     

Enviar comentario