Links #11

OSC

OSC [Open Sound Control] ist ein Protokoll zur Steuerung von (Musik-)Geräten. Es wird jedoch auch generell zur Steuerung eingesetzt. OSC kann über merhere Kanäle wie z.B. seriell, Netzwerk(UDP) übertragen werden.

In einem Projekt muss ich einen Steuerung mit OSC per Netzwerk realisieren. Leider hat die Suche nach dem genauen Aufbau des OSC Protokoll keinen großen erfolg ergeben. Jedoch habe ich per Reverse Engineering einiges über das OSC Protokoll gelernt:

  • OSC ist eine Mischung aus Text und Binär Codierten Daten

Eine OSC Nachricht sieht z.B. wiefolgt aus (Unten einmal Hexadezimal codiert):

/a/b    ,ii    ☺   A
2f 61 2f 62 0 0 0 0 2c 69 69 0 0 0 0 1 0 0 0 41

 photo osc_raw.png

Dabei handelte es sich um die Nachricht das Gerät /a/b auf die beiden Integers 1 und 65 einzustellen.

Will man sich jedoch nicht mit dem genauen Aufbau beschäftigen gibt es auch Bibliotheken wie Ventuz OSC für .NET bzw. C#. Diese machen den Umgang sehr einfach.

Senden geht wie folgt:

var writer = new UdpWriter("127.0.0.1", 9000);
var elem = new OscElement("/a/b", 1, 65);
writer.Send(elem);

Links: