Le protocole OSC

L’OSC est l’acronyme de Open Sound Control.
Ce protocole a été créé pour envoyer des ordres entre différentes applications en utilisant le réseau, un peu sur le même principe que le MIDI, mais avec plus de flexibilité. De nombreux logiciels supportent ce protocole. C’est donc un moyen simple de faire communiquer plusieurs applications.
L’OSC utilise le protocole réseau UDP.

On peut déclarer un device OSC dans Modulo Player.
Pour pouvoir envoyer des ordres à une application tierce, il est nécessaire de connaitre l’adresse IP de la machine ou est hébergée l’application et le port de communication.

L’adresse IP, c’est un peu comme la rue, et le port, un peu comme le numéro de la boite aux lettres dans la rue.
Pour envoyer des ordres, il est donc impératif de rentrer correctement ces informations, sinon l’ordre ne sera pas reçu par l’application tierce.

De la même manière, pour recevoir des ordres provenant d’une application tierce dans Modulo Player : il est nécessaire de choisir le port sur lequel vous voulez recevoir les ordres, et dans l’application tierce, il est nécessaire de dire que l’on va envoyer des commandes à l’adresse IP du Modulo Player.

Une message OSC est composé d’un chemin et de valeurs envoyés.

Un chemin est défini par une suite de mots séparés par des /. Par exemple, cela peut être /modulo/task/1.
Cette chaine est définie de manière arbitraire mais il est impératif que l’émetteur et le récepteur utilisent la même syntaxe.

Les valeurs envoyées peuvent être des booléens, des entiers, des float, ou des chaines de caractères.

Utilisation du protocole OSC du Modulo Player :

Modulo Player a un protocole intégré pour recevoir des ordres en OSC et en renvoyer.
On utilisait ce protocole et Touch OSC pour créer des interfaces utilisateurs sur tablettes ou téléphone lorsque l’UI n’existait pas dans Modulo Player.

On va donc utiliser un preset pour Touch OSC.
On charge ce preset dans la tablette ou le téléphone connecté en réseau avec le Modulo Player en utilisant l’application Touch OSC Editor.
La documentation est disponible sur cette page.
Les ports input et output sont par défaut ceux utilisés dans Touch OSC.
On va activer “trigger enable” et “feedback” sur le device OSC pour respectivement recevoir des ordres en utilisant le protocole OSC Modulo Player et pour renvoyer des informations à Touch OSC.

Pour ceux qui veulent aller plus loin, le protocole OSC Modulo Player est décrit sur ce lien.

Il est possible d’utiliser ce protocole avec n’importe quelle application pour communiquer avec Modulo Player en OSC.

Utilisation manuelle : Task :

On peut également déclencher une task en utilisant le device OSC en tant que trigger.
On crée une task, on ajoute le device OSC en trigger.

Utilisation manuelle : Digimap :

On peut également créer un Digimap qui va recevoir une valeur provenant d’un device OSC.
On ajoute un touchpad dans Touch OSC.
On crée un Digimap, on le patch sur la position x d’un média.
On crée un second Digimap et on le patch sur la position y d’un média.

Envoi d’une commande OSC à un device :

On peut également envoyer des commandes à une application OSC en utilisant une task.
On va par exemple créer deux tasks pour déplacer un bouton dans l’application Touch OSC.

Need more help with this?
Don’t hesitate to contact us here.

Thanks for your feedback.