Open Sound Control

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
image illustrant l’informatique image illustrant la musique électronique
Cet article est une ébauche concernant l’informatique et la musique électronique.

Vous pouvez partager vos connaissances en l’améliorant (comment ?) selon les recommandations des projets correspondants.

L'Open Sound Control est un format de transmission de données entre ordinateurs, synthétiseurs, robots ou tout autre matériel ou logiciel compatible, conçu pour le contrôle en temps réel. Il utilise le réseau au travers des protocoles UDP ou TCP et apporte des améliorations en termes de rapidité et flexibilité par rapport à l'ancienne norme MIDI.

Motivation[modifier | modifier le code]

OSC est un format de contenu développé au CNMAT par Adrian Freed et Matt Wright comparable à XML , WDDX ou JSON . Il était à l'origine destiné au partage de données de performance musicale (gestes, paramètres et séquences de notes) entre des instruments de musique (notamment des instruments électroniques tels que des synthétiseurs ), des ordinateurs et d'autres dispositifs multimédias. OSC est parfois utilisé comme alternative au standard MIDI de 1983, une résolution plus élevée et un espace de paramètres plus riche sont souhaités. Les messages OSC sont transportés à travers Internet et dans les sous-réseaux locaux en utilisant ( UDP / IP , Ethernet ). Les messages OSC entre les contrôleurs gestuels sont généralement transmis sur les points d'extrémité série de l' USB enveloppé dans le protocole SLIP .

Caractéristiques[modifier | modifier le code]

  • Schéma de nom symbolique, ouvert, dynamique et URI
  • Données numériques symboliques et à haute résolution
  • Langue de mise en correspondance de motifs pour spécifier plusieurs destinataires d'un seul message
  • Balises de temps de haute résolution
  • "Ensembles" de messages dont les effets doivent se produire simultanément

Applications[modifier | modifier le code]

Il existe des dizaines d'applications OSC, y compris des environnements de traitement du son et des médias en temps réel, des outils d'interactivité Web, des synthétiseurs logiciels, des langages de programmation et des périphériques matériels. OSC a acquis une large utilisation dans des domaines tels que l'expression musicale, la robotique, les interfaces de performance vidéo, les systèmes de musique distribués et la communication entre processus.

La norme de la communauté TUIO pour les interfaces tangibles telles que le multitouch est construite au-dessus de la CVMO. De même, le système GDIF pour la représentation des gestes intègre la CVMO.

OSC est largement utilisé dans les contrôleurs musicaux expérimentaux, et a été intégré dans plusieurs produits open source et commerciaux.

Le langage musical Open Sound World (OSW) est conçu autour de la messagerie OSC.

OSC est au cœur de l'API de plugin DSSI , une évolution de l'API LADSPA, afin de faire interagir l'interface graphique éventuelle avec le noyau du plugin via la messagerie de l'hôte du plugin. LADSPA et DSSI sont des API dédiées aux effets audio et aux synthés.

En 2007, un espace de noms normalisé au sein de la OSC appelé SYN, pour la communication entre contrôleurs, synthétiseurs et hôtes, a été proposé,

Exemples de logiciels avec implémentation OSC:

  • Ardeur
  • Bidule
  • CasparCG
  • Mandrin
  • Espace Cristal
  • Enchaîné
  • Cubase
  • Digital Performer
  • Dorico
  • Fluxus
  • FreeJ
  • Gesture recognition toolkit
  • IanniX
  • Impromptu
  • Isadora (v.1.1)
  • JUCE (Framework)
  • Kyma
  • Lis
  • LiVES
  • Logelloop
  • Logic Pro
  • Max / MSP
  • Mocolo
  • Modul8
  • MuseScore
  • Mxwendler
  • Nuendo
  • OpenFrameworks
  • Overtone (Clojure)
  • Processing
  • Pure
  • Pure Data
  • QLab
  • Quartz Composer (à partir de la version 3.0 / Mac OS X v10.5 )
  • Reaktor
  • REAPER
  • Renoise
  • Sonic Pi
  • Super collider
  • Squeak
  • TouchDesigner
  • Traktor DJ Studio
  • Unreal Engine
  • Veejay
  • VirtualDJ
  • Vvvv

Exemples de matériels avec implémentations OSC:

  • AlphaSphere
  • Audiocube
  • Kyma
  • Lemur
  • MIDIbox
  • Milkymist One
  • Monome 40h

Conception[modifier | modifier le code]

Les messages OSC se composent d'un modèle d'adresse, d'une chaîne d'étiquette de type, d'arguments et d'un tag temporel facultatif. Les modèles d'adresse forment un espace de noms hiérarchique, qui rappelle un chemin de système de fichiers Unix ou une URL . Les chaînes d'étiquettes de type sont une représentation de chaîne compacte des types d'argument. Les arguments sont représentés sous forme binaire avec un alignement de 4 octets. Les types de noyau pris en charge sont

  • 32 bits deux compléments signés entiers
  • Numéros à virgule flottante IEEE 32 bits
  • Matrices à terminaison nulle de données codées à 8 bits ( chaînes de style C)
  • Blob de taille arbitraire (par exemple, des données audio ou une image vidéo)

Les applications utilisent couramment des extensions à cet ensemble de noyau. Plus récemment, certaines de ces extensions, comme un type booléen compact, ont été intégrées aux types de noyau requis de OSC 1.1.

Les avantages de OSC sur MIDI sont principalement la connectivité Internet; Résolution de type de données ; Et la facilité relative de spécifier un chemin symbolique, par opposition à la spécification de toutes les connexions en tant que numéros 7 bits avec des types de données 7 bits ou 14 bits.

Liens externes[modifier | modifier le code]