Paso 2: ¿Por qué OSC? ¿Por qué no una conexión directa?
Ciertamente puede conectar un Arduino Uno directamente a Ableton Live. Pero esto es sólo un ejemplo muy pequeño de controlar un MIDI CC con un potenciómetro. ¿Y si desea ampliar el proyecto y enviar acordes de Arduino a Ableton Live? O tal vez que usted quiere ser capaz de ajustar varios parámetros de Ableton Live con una docena o tan los potenciómetros. En ese momento una conexión directa se hace engorrosa y roturas aparte. OSC (Open Sound Control) es una solución elegante para estos DIY tipo de proyectos.
OSC es un formato de contenido desarrollado en CNMAT por Adrian Freed y Matt Wright comparable a XML, WDDX o JSON. Originalmente fue pensado para compartir datos de rendimiento de música (gestos, parámetros y secuencias de nota) entre instrumentos musicales (instrumentos musicales especialmente electrónicos tales como sintetizadores), ordenadores y otros dispositivos multimedias. OSC se utiliza a veces como alternativa a la 1983 MIDI estándar, donde se desea una mayor resolución y un rico espacio de parámetro musical. Mensajes OSC son transportados comúnmente a través de internet y dentro de casa y estudio subredes usando (UDP/IP, Ethernet). Mensajes OSC entre controladores gestuales se transmiten generalmente sobre extremos seriales del USB por estar envuelto en el protocolo SLIP.
OSC da músicos y desarrolladores más flexibilidad en los tipos de datos que pueden enviar por el cable, lo que permite nuevas aplicaciones que puedan comunicarse entre sí en un nivel alto.
(de http://en.wikipedia.org/wiki/Open_Sound_Control)
Aunque se puede sentir extraño utilizar redes UDP entre el Arduino Uno y Ableton Live, recuerde que esta solución es todavía varias veces más rápido que su cable MIDI de vainilla, sabes, lo que con el conector DIN.
Otra característica hermosa de utilizar UDP es sólo un protocolo de red. Cualquier dispositivo puede empezar a enviar paquetes UDP y cualquier dispositivo es libre de escuchar a paquetes UDP y utilizarlos. Ningún proceso es monopolizar un puerto serie y no importa mucho en que orden comenzar sus programas. Pensar en ello.