Open Sound Control ( OSC ) es un protocolo para conectar en red sintetizadores de sonido, computadoras y otros dispositivos multimedia con fines tales como interpretación musical o control de espectáculos . Las ventajas de OSC incluyen interoperabilidad, precisión, flexibilidad y organización y documentación mejoradas. [1] La primera especificación se publicó en marzo de 2002.
Motivación
OSC es un formato de contenido desarrollado en CNMAT por Adrian Freed y Matt Wright comparable a XML , WDDX o JSON . [2] Originalmente estaba destinado a compartir datos de interpretación musical (gestos, parámetros y secuencias de notas) entre instrumentos musicales (especialmente instrumentos musicales electrónicos como sintetizadores ), computadoras y otros dispositivos multimedia. OSC se utiliza a veces como una alternativa al estándar MIDI de 1983 , cuando se desea una resolución más alta y un espacio de parámetros más rico. Los mensajes OSC se transportan a través de Internet y dentro de las subredes locales mediante UDP / IP y Ethernet . Los mensajes OSC entre controladores gestuales generalmente se transmiten a través de puntos finales en serie de USB envueltos en el protocolo SLIP .
Características
Las características principales de OSC, en comparación con MIDI, incluyen: [1]
- Esquema de nomenclatura simbólico de estilo URI , dinámico y abierto
- Datos numéricos simbólicos y de alta resolución
- Idioma de coincidencia de patrones para especificar varios destinatarios de un solo mensaje
- Etiquetas de tiempo de alta resolución
- "Paquetes" de mensajes cuyos efectos deben producirse simultáneamente
Aplicaciones
Hay docenas de aplicaciones OSC, que incluyen entornos de procesamiento de medios y sonido en tiempo real, herramientas de interactividad web, sintetizadores de software, lenguajes de programación y dispositivos de hardware. OSC ha logrado un amplio uso en campos que incluyen expresión musical, robótica, interfaces de interpretación de video, sistemas de música distribuida y comunicación entre procesos.
El estándar de la comunidad TUIO para interfaces tangibles como multitouch se basa en OSC. De manera similar, el sistema GDIF para representar gestos integra OSC.
OSC se utiliza ampliamente en controladores musicales experimentales y se ha integrado en varios productos comerciales y de código abierto.
El lenguaje de programación musical Open Sound World (OSW) está diseñado en torno a la mensajería OSC. [3]
OSC es el corazón de la API del complemento DSSI , una evolución de la API LADSPA, con el fin de hacer que la GUI eventual interactúe con el núcleo del complemento a través de mensajes al host del complemento. LADSPA y DSSI son API dedicadas a efectos de audio y sintetizadores.
En 2007, se propuso un espacio de nombres estandarizado dentro de OSC llamado SYN, para la comunicación entre controladores, sintetizadores y hosts,
El software notable con implementaciones de OSC incluye:
- Ardor
- Bidule
- Arrojar
- CasparCG (motor de gráficos de video de código abierto)
- Espacio cristalino
- CSound
- Intérprete digital
- Fluxus
- FreeJ
- Artista de concierto
- IanniX
- Improvisado
- Isadora (v.1.1)
- JUCE (Marco)
- Kyma
- Lirio
- Vive
- Logic Pro
- Max / MSP
- Mocolo
- Modul8
- MuseScore
- Mxwendler
- openFrameworks
- Procesando
- Puro
- Datos puros
- QLab
- Quartz Composer (a partir de v3.0 / Mac OS X v10.5 )
- Reaktor
- SEGADOR
- Renoise
- Sonic Pi
- Súper colisionador
- Chirrido
- TouchDesigner
- Motor irreal
- Veejay
El hardware notable con implementaciones de OSC incluye:
- AlphaSphere
- Audiocubos
- Consolas ETC EOS
- Consolas de mezcla DiGiCo SD
- Kyma
- Dispositivo de entrada de lémur
- Amplificadores MC2 Delta-DSP
- MIDIbox
- Milkymist Uno
- Monome 40h
- Consola de mezclas digital X32
- Amplificadores XTA DPA
Diseño
Los mensajes OSC constan de un patrón de dirección, una cadena de etiqueta de tipo, argumentos y una etiqueta de tiempo opcional. Los patrones de direcciones forman un espacio de nombres jerárquico, que recuerda a una ruta de sistema de archivos Unix o una URL . Las cadenas de etiquetas de tipo son una representación de cadena compacta de los tipos de argumentos. Los argumentos se representan en forma binaria con alineación de cuatro bytes. Los tipos principales admitidos son
- Enteros con signo de complemento a dos de 32 bits
- Números de coma flotante IEEE de 32 bits
- Matrices terminadas en nulo de datos codificados de ocho bits ( cadenas de estilo C )
- blob de tamaño arbitrario (por ejemplo, datos de audio o un cuadro de video)
Las aplicaciones suelen emplear extensiones para este conjunto básico. Más recientemente, algunas de estas extensiones, como un tipo booleano compacto, se integraron en los tipos básicos requeridos de OSC 1.1.
Las ventajas de OSC sobre MIDI son principalmente la conectividad a Internet; resolución del tipo de datos ; y la facilidad comparativa de especificar una ruta simbólica, en contraposición a especificar todas las conexiones como números de siete bits con tipos de datos de siete o catorce bits. [4]
Referencias
- ^ a b "Introducción a OSC" . opensoundcontrol.org . Consultado el 22 de diciembre de 2019 .
- ^ "OpenSoundControl | CNMAT" . cnmat.berkeley.edu . Consultado el 22 de diciembre de 2019 .
- ^ "OSW Manual OpenSound Control (OSC)" . osw.sourceforge.net . Consultado el 22 de diciembre de 2019 .
- ^ "La especificación de Open Sound Control 1.0" . opensoundcontrol.org . Consultado el 22 de diciembre de 2019 .
- Schmeder, A., Freed, A. y Wessel, D., "Best practices for Open Sound Control", Linux Audio Conference, Utrecht, Países Bajos, 2010.
- Freed, A., Schmeder, A., "Características y futuro de Open Sound Control versión 1.1 para NIME", Conferencia NIME 2009.
- Wright, M., Freed, A., "Open Sound Control: A New Protocol for Communicating with Sound Synthesizers", International Computer Music Conference, Thessaloniki, Grecia, 1997.
enlaces externos
- Página web oficial
- Introducción a OSC en LinuxJournal
- SYN , un espacio de nombres estandarizado dentro de OSC