lunes, 4 de agosto de 2014

SYSEX ???

Breve y muy basica descripcion de lo que es el protocolo de comunicacion SYSEX, extraida de http://protocolossonido.weebly.com/sysex.html

Autor: Germán Palero

Mensajes SysEx

Los mensajes MIDI del tipo SysEx difieren en muchos aspectos de un mensaje MIDI convencional. La principal peculiaridad de estos mensajes es que no están predefinidos ni siguen una estructura particular, tan solo poseen un inicio y una terminación particular que hace que sea posible distinguirlos de otro tipo de mensajes, el resto del contenido lo decide cada fabricante a su antojo. Es decir cada dispositivo que un fabricante lance al mercado puede generar mensajes completamente distintos a uno similar de otro fabricante simplemente en vista a la funcionalidad que busca cada uno para su diseño. Podríamos decir que esto hace del SysEx un sistema muy versátil con un gran potencial.
Existen también mensajes “Universal Sysex” que a pesar de que como hemos dicho antes, (la peculiaridad de estos mensajes es que son específicos para fabricante o dispositivo) Este tipo de mensajes SysEx no son exclusivos para cada fabricante. Estos mensajes pueden ser a tiempo real (Como los MTC, Midi Time Code) o no (“Non-realtime universal SysEx”, como los MDS).
El convenio sobre MIDI cita que es posible, al permitir crear a cada fabricante sus propios mensajes:
· La capacidad de convertir cualquier función del aparato a través de MIDI.
· Modificar los parámetros del sonido.
· Realizar volcado de datos hacia un ordenador.
Son capaces de generar nuevos mensajes MIDI que en un principio no estaban previstos en su definición original.
· Volcado de muestras vía MIDI, como SDS (Sample Dump Standard).
· O código de tiempo MIDI, conocido como MTC (MIDI Time Code).
Para trabajar con mensajes SysEx se emplea el formato Hexadecimal, que se basa en una división de un byte en dos grupos de 4 bits. La notación hexadecimal simplemente sustituye cada uno de los dos grupos de bits por un solo carácter. Es decir tenemos que cada grupo de bit se sustituye por un numero hasta 9 y luego por letras . Un ejemplo de esto:
0000=0 ; 1010=A, Si tenemos el byte 00001010= 0Ah (La “h” nos indica que estamos trabajando en formato hexadecimal).


Estructura de los mensajes Sysex 


Un mensaje SysEx contiene una serie de bytes que comienza con F0h (11110000), a continuación nos encontramos con un número cualquiera de bytes cuyo bit alto será 0 (0xxxxxxx) y para acabar el mensaje SysEx nos encontramos con otro byte que empieza por 1, (Más concretamente el “F7h”, 11110111).
Es decir tenemos que la estructura del mensaje SysEx MIDI será F0h como inicio, F7h al final y entremedias una serie de bytes variables con la forma 0xxxxxxx, dependiendo del mensaje que se trate.
Al ser mensajes específicos de cada modelo y fabricante lo primero que se indica tras el F0h es el código del fabricante, el cual es asignado por la organización MMA (Responsable de gestionar el MIDI).
· Desde el 01h hasta 1Fh son para los fabricantes americanos.
· Del 20h a 3Fh son códigos europeos.
· A partir de 40h hasta 5Fh para Japón.
· Y finalmente el rango desde 60h a 7Fh se reservó para usos futuros.
La extensión del mensaje dependerá de la función a la cual va a asignada, es decir si el mensaje es para establecer un valor nuevo de un parámetro como puede ser activar/desactivar una función a partir de un mensaje, este será mucho más breve que si el mensaje es el volcado de un banco de datos, en cuyo caso contendrá un mensaje mucho más largo.


Aplicaciones de MIDI SysEX


Las aplicaciones más comunes y llamativas que posee este protocolo son:
· Controlar parámetros internos del equipo como faders, potenciómetros y botones de un entorno DAW o un sintetizador virtual de manera externa, mediante controles físicos que se sincronizan con el entorno virtual.
· Permiten acceso al control de parámetros completamente inalcanzables desde los controles y menús del equipo que no son visibles en el menú virtual pero si vía SysEx
· Mezclar entre sí multitud de sonidos en un único canal MIDI, pero a pesar de ello no perder la capacidad de retocar niveles, efectos… independientemente unos de otros.
· Transposición del teclado mucho más sencilla
· Es capaz de facilitar una automatización del MIDI con todo tipo de parámetros
· Volcar programaciones de sonidos en el equipo.





No hay comentarios:

Publicar un comentario