Conceptos midi

midi

MIDI son las siglas de Musical Instrument Digital Interface. Es en realidad un sistema de dispositivos, comunicaciones e información digital que posibilita una interpretación musical según un protocolo digital determinado.

Conceptos midi:

Mensajes midi:

Codificación de las notas y la intensidad (volumen), los controles de los instrumentos, de la asignación de instrumentos a canales, ….

El mensajes de sonido, son grupos de dígitos que representan el inicio de la nota (nota-on) y su volumen (intensidad) o la finalización del sonido de la nota (nota-off). Generalmente tienen asociado un canal.

Mensajes de Sonido:

Note-on, Note-off, Aftertouch, Pitch bend change, Program change, Control change.

Meta mensajes:

Son mensajes de información: texto, líricos, escala, compas, …..

canal:

Representa un instrumento. Para un mensaje (tipo: program change) se asigna un canal a un instrumento. Cada mensaje tiene incorporado el código del canal (de 0 a 15).

track:

Conjunto de mensajes midi, grabados en un soporte determinado, pueden agrupar a 16 canales.

Sequence:

Conjunto de tracks, representa un fichero midi.

Dispositivos midi:

Keyboard:

Teclado, fuente de los mensajes midi.

Sequencer:

Escribe y lee archivos midi, crea una secuencia de mensajes midi a partir de un fichero midi.

Synthesizer:

Sintetizador de sonido. Convierten los mensajes midi en sonido. Pueden ser multitimbrales (soporte de diferentes instrumentos) y / o polifónicos (varias notas a la vez).

Los dispositivos midi son dispositivos electrónicos utilizados por los estudios discográficos para grabar temas musicales, editar notas, masterizar discos, …. También los utilizando las bandas musicales. Son el soporte de los dispositivos de karaoke.

Los dispositivos midi tienen un puerto de entrada (in) y un puerto de salida (out).

El PC puede hacer de Sequencer y Synthesizer y a través del puerto usb conectar con dispositivos externos midi.

Afortunadamente el java tiene un package de clases:

javax.sound.midi

Que encapsulan los conceptos anteriores y nos permiten leer / escribir secuencias, leer / escribir tracks, decodificar mensajes, hacer playback de una secuencia, etc.

Clases java que soportan el sistema midi:

MidiSystem:

Proporciona una lista de dispositivos instalados.

MidiDevice:

Synthesizer, Sequencer. El java puede encapsular en una misma clase los dos dispositivos.

Métodos del sequencer:

start / stop playback, start / stop recording.

Transmisión / Recepción:

Transmitter, Receiver. Representan ‘plugs’ a los dispositivos.

MidiChannel

Instrument

MidiMessage

MidiEvent

track

Sequence

MidiMessages:

Son los siguientes: ShortMessage (Mensajes de sonido y control), SysexMessage (mensajes propios del constructor), MetaMessage (información y set-tempo).

Conexión Transmitente / Receiver:

Un Transmitter se puede asociar a un dispositivo (p.e. Sequencer) y un receiver a otro dispositivo (p.e. Synthesizer), y finalmente se puede conectar el Transmitter al receiver. Los mensajes midi se transmiten al Receiver.

MidiEvent:

Es un objeto formado por MidiMessage más el tiempo. El tiempo es una variable que indica el momento en que se tiene que ejecutar el mensaje desde el inicio de la sequence. El tiempo se cuantifica en ticks y según dos formas diferentes: PPQ o SMPT.

PPQ: partes por quarter. Quarter = 1 negra. P.e. si PPQ = 480 (esto se llama resolución), significa que el tiempo de duración de una negra son 480 ticks. El mensaje de setTempo asigna un numero de microsegundos a una negra. Si setTempo = 500.000, significa que una negra (480 ticks) dura 0,5 segundos, es decir 1 tick = 500000/480 microsegundos.

SMPT: frames per second.

Y ahora una digresión …

La representación digital de un sistema analógico tiene una serie de ventajas como son por ejemplo almacenar sin pérdida de calidad (un 3 será siempre un 3, a lo mejor no se puede leer, pero no será nunca un 3,002, una variable analógica puede sufrir degradaciones) y la posibilidad de edición, al menos, dentro de los conocimientos tecnológicos actuales. Pero no deja de ser curioso el interés que tenemos las personas en modelar los sistemas digitalmente, cuando nosotros mismos somos sistemas analógicos, será que nuestro cerebro es cuadrado o bien es el resultado de la batalla entre ordenadores digitales (tecnología americana) y los ordenadores analógicos (tecnología de la Unión Soviética), a mediados del siglo XX, y que se decantó a favor de los digitales por razones comerciales.

Us de cookies

Aquest lloc web utilitza cookies per facilitar al usuari una més gran operativitat. Si segueix navegant està donant el seu consentiment per a l'acceptació dels cookies i de la nostre política de cookies, Click a l'enllaç per a una informació addicional.

ACEPTAR
Aviso de cookies