OSC der grosse Nachfolger von MIDI?

Wer sich schon immer mal gefragt hat, ob es denn überhaupt auf dem Gebiet der Gerätesteuerung Neuigkeiten gibt, wird vielleicht schon einmal mit OSC in Kontakt gekommen sein. OSC ist sozusagen die Weiterentwicklung von MIDI und bietet einige interessante Neuerungen. Wer mal einen groben Überblick haben möchte für den ist dieser Artikel sicherlich empfehlenswert.

anzeige

OSC der grosse Nachfolger von MIDI?

Bei dem Begriff OSC gibt es oft immer noch Erklärungsbedarf. Und das obwohl sich “Open Sound Control” langsam aber sicher auch in die Studiowelt einschleicht.
Berühmte Beispiele für Hersteller die schon auf den “OSC-Zug” bereits aufgesprungen sind sind beispielsweise Native Instruments oder Jazzmutant’s Lemur. Natürlich werden die genannten Instrumente auch bereits von Musikern live verwendet und gespielt.
Genug Gründe also einen grundlegenden Überblick über diese neue Steuersprache zu geben.

OSC steht für Open Sound Control und wurde am UC Berkeley entwickelt. Dort gibt es ein spezielles Zentrum für neue Musik- und Tontechnik (Center for New Music and Audio Technology kurz CNMAT). Dieses Zentrum hat OSC ins Leben gerufen. Doch warum überhaupt?

Wenn man sich die (inzwischen über 20 Jahre) Geschichte von MIDI einmal ansieht, wurden schon einige Versuche unternommen MIDI abzulösen. Doch genau da lag der Knackpunkt dieser Implementationen. Kurz gesagt hatte die Musik- und Tonbranche diese Produkte nicht angenommen mit dem Grund “Warum umsteigen? MIDI läuft doch!”
Und so dauerte es eben diese Zeit bis ein “würdiger” Nachfolger gefunden wurde.

Das OSC Protokoll kann sich bereits jetzt schon durchsetzen. Es bringt zwar auch wieder einige Nachteile mit sich, jedoch auch entscheidende Vorteile:

Open Sound Control: Features

  • Open Source
  • OSC wird über eine einfache LAN-Verbindung übertragen
  • Nach oben hin keine Geschwindigkeitsgrenze (Siehe LAN-Verbindung)
  • Höhere Auflösung als MIDI (32 bit)
  • Nachrichten können zu sogenannten “Bundles” zusammengefasst werden
  • OSC funktioniert nicht nur für musikalische Zwecke sondern kann generell für Steurungen aller Art benutzt werden.

Open Sound Control: Übertragung

Bei der Übertragung der Befehle kommen die TCP- und UDP-Protokolle zum Einsatz. Diese sind einigen sicher schon bekannt durch das Einrichten ihres Internetzuganges.

TCP:
TCP ist ein verbindungsorientiertes Protokoll. Das heisst jeder Teilnehmer eines Netzwerkes kann exakt zurück verfolgt werden. Der direkte Austausch zweier Stellen ist gewährleistet und Datenverluste können behoben werden, da Daten neu angefordert werden können.

UDP:
UDP ist ein verbindungsloses Protokoll. Heisst, Daten werden als “Stream” übertragen. Das heisst ein Sender beginnt “auf Glück” mit dem senden von Daten. Der Empfänger hat jedoch keine Möglichkeit eine Korrektur anzufordern. Der Vorteil von UDP: Es wird an alle Teilnehmer eines Netzwerkes gleichzeitig gesendet.

anzeige

Open Sound Control: Aufbau einer OSC-Nachricht

Eine sogenannte OSC Message ist aufgeteilt in:

  • Address Pattern
  • Type Tag String
  • Arguments

Address Pattern
Das Address Pattern gibt an, wohin die Nachricht letztendlich gesendet werden soll. Dabei wird die Adresse durch “/” gekennzeichnet. Bei einem Klangerzeuger, wie einem Virus, könnte man sich etwa folgendes vorstellen:

/virus/filter/cutoff

Type Tag String
Der Type Tag String ist noch relativ neu und muss nicht zwingend von älteren Implementationen unterstützt werden, ist jedoch für neuere Anwendungen erforderlich. Durch den Type Tag String werden die OSC Messages im Typ gekennzeichnet. Ob es sich bei den Daten etwa um Ganzzahlen, Zeichen (Strings) oder Fliesskommazahlen etc. handelt. Zum abtrennen des Type Tag Strings wird ein “,” benutzt.

Es gibt unter anderem folgende (Common) Type Tags:

  • i = Ganzzahl in 32 Bit
  • f = Fliesskommazahl in 32 Bit
  • s = String
  • b = Blob (“Binary large Object” einfache Anhäufung von Daten)

In den Type Tags findet man auch die MIDI Nachricht wieder. Diese wird mit “,m” angegeben. Es gibt natürlich auch noch andere Type Tags wie etwa das OSC-timetag und andere. Das würde aber unseren Rahmen hier sprengen.

Arguments
Die Arguments beinhalten letztendlich die eigentlichen Daten. Möchte man eine einfache MIDI Nachricht absetzen so wären die Argumente (jeweils 1 Byte):

Port ID, Status Byte, Datenbyte 1, Datenbyte 2

Die Nachricht sieht also ungefähr so aus, möchte man den Filterwert eines Virus verändern:

/virus/filter/cutoff ,m 13 CC 40 30

Nochmal schön der Reihe nach:
Adress Pattern gefolgt von “,m” zur Kennzeichnung einer MIDI-Nachricht. Danach Port ID 13 (fiktiv gewählt). Statusbyte, ich habe hier der Einfachheit halber CC gewählt (für “Control Change”). Und als letztes folgen noch die zwei Datenbytes 40 und 30. Ich gehe, wiederum fiktiv, davon aus, dass der Filter die Controller Nummer 40 hat und stelle ihn einfach auf den Wert 30 ein.

Open Sound Control: Letzte Worte

Diese Ausführungen hier sind natürlich nur an der Oberfläche gekratzt OSC kann wirklich viel und ist vor allem auch vielseitig.
Viel Verwendung findet OSC auch in mehreren Audio-Programmiersprachen wie etwa Pure Data oder SuperCollider. (Es lohnt sich da eventuell mal einen Blick drauf zu werfen, lassen sich echt witzig Dinge damit machen.)

CNMAT
OSC-Homepage
Pure Data
SuperCollider

Lesermeinungen (11)

zu 'OSC der grosse Nachfolger von MIDI?'

  • Markus   27. Mai 2008   14:20 UhrAntworten

    Danke für das Wissensupdate - das ging bislang vollkommen an mir vorbei ...

    OSC wäre ein absoluter Traum, wenn ich mir die Spezifikation so ansehe, allerdings fehlen wie immer ein paar große Fische, die das auch unterstützen. Yamaha klammert sich noch immer an sein mLAN und der Rest nimmt einfach das USB-Protokoll. OSC müsste in Hardwaresynths und Controllern implementiert werden um erfolgreich zu sein.

  • Andreas Z. (delamar)   27. Mai 2008   14:53 UhrAntworten

    Bitte bitte. Naja es gibt ja bereits einig Hersteller die das implementieren. Nur halt noch nicht so ganz grosse - da hast du schon recht. Aber Native finde ich schonmal sehr gut.

  • Patrick   27. Mai 2008   16:01 UhrAntworten

    Sehr schöne und verständliche Zusammenfassung, als OSC Fürsprecher freu ich mich, dass es breitere Erwähnung findet!

    Ein "Killerfeature" vermisse ich jedoch noch. OSC bietet die Möglichkeiten Messages und Bundles mit einer in der Zukunft liegende Zeitangabe zu versehen.

    So muss man Ereignisse die zeitgleich passieren sollen nicht unbedingt in Echtzeit an die einzelnen Geräte/Programme schicken, sondern kann sie auch im Vorhinein schicken – eine Interessante Möglichkeit für sehr genaue Sequencer, und eine Absicherung der schwankenden Laufzeitlatenz bei Netzwerkveribdungen (z.B. WLAN oder über das Internet)

    Nur als kleinen Zusatz, nicht als Kritik :)

  • Andreas Z. (delamar)   27. Mai 2008   16:21 UhrAntworten

    Natuerlich keine Kritik. Aber ich hab auch den Nachteil ausgelassen (eben diese zeitlichen Schwankungen). Die zeitlichen Schwankungen fuehren naemlich dazu, dass OSC nicht zum versenden von Timecode-Informationen benutzt werden kann -- leider.

    Das mit den Bundles und dem Timetag in der Zukunft finde ich uebrigens auch total schnieke 8-)

  • Holger Engel   27. Dez 2008   23:12 UhrAntworten

    Habe grade ein Playback eingespielt, Logic... alles aktuell. Wegen sehr schlechtem Timing habe ich erst mal nur eine einfache MIDI- Spur eingespielt, und dann erst den schweren Software- Flügel mit Kontrabass drunter geöffnet. Trotzdem gibt es bei MIDI das grauenhafte Problem, daß Noten NIEMALS gleichzeitig übertragen werden. Ein einigermassen sensibler Musiker spürt das, und es stört gewaltig. Man ist als Pianist ohne echten Flügel unter den Fingern in dem Moment eh schlecht dran, und dann noch das. Es wird dermaßen höchste Zeit, dass sich mal ein System etabliert, das wirklich überträgt, was man spielt. Die Sequenzer- Programme sind nach Notator auf dem Atari verkommen zu Quantisierungs- Maschinen mit Logic. Die können vor lauter Zeugs berechnen gar nicht mehr gescheit kontrollieren, was da am MIDI- Port reinkommt in time. Dies addiert sich zur hauseigenen MIDI- Problematik. OSC hört sich für mich an, wie wenn es einen Haufen Gruscht mehr als MIDI kann, jedoch NOCH mehr Timing- Probleme hat. Na denn, prost. Ich werde mal mehr über mLAN erfahren. YAMAHA ist immerhin eine Firma, der ich Digitalpiano- technisch am meisten zutraue!

  • Ulrich Sprick   30. Dez 2008   00:39 UhrAntworten

    Timing @Holger

    Ich denke mal, dass Timingprobleme drastisch reduziert werden. Allein wenn man bedenkt, dass die Bitrate bei Midi gerade mal 115 kBaud ist, bei Ethernet-LAN 10, 100 oder 1000 MBit/s... Man muss zwar bei Ethernet noch einen gewissen Protokoll-Overhead einkalkulieren, trotzdem sollte es fühlbar "schneller" sein - auch wenn Midi-Messages extrem kurz und so gut wie keinen Overhead haben.

    Lösungsvorschlag für das Midi-Timing-Problem: Separate Midi-Interfaces für die Klangerzeuger. Oder ein Mehrkanal-Midi-Interface. Gibt's das?

    Ulli

  • Patrick   30. Dez 2008   00:48 UhrAntworten

    Daten werden über serielle Schnittstellen sowieso immer nacheinander versandt, das Grundproblem an sich wird nicht gelöst.

    OSC kann dies aber v.A. im Sequencer Einsatz (theoretisch) wett machen indem es in der Nachricht mitschickt wann die Taste denn nun eigentlich gedrückt worden ist.

    Der Sequencer erhält die Daten dann zwar immer noch nacheinander, könnte dann aber dann das Timing genau so übernehmen.

    Da es keine mit MIDI vergleichbaren OSC Sequencer gibt und OSC sich für Keyboards ja noch nicht durchgesetzt hat ist dies natürlich eher Zukunftsvision. Aber theoretisch möglich!

  • Steve Clark   23. Mai 2009   04:13 UhrAntworten

    ich weis immer noch nicht wo der Vorteil liegen soll und wo auch dieses System seine Nachteile hat.

  • DJ Ossi2009   05. Mai 2013   11:24 UhrAntworten

    Ich denke, dass das OSC vieleicht die erste Zeit paralell mit dem Midi laufen kann. Es ist ist ja auch bei anderen Dingen so. Dass Stärken gesammelt und vorhandene Schwächen zumindest auf ein Mindestmaß reduziert werden. Ob eine komplette Ablösung stattfinden wird, das bleibt abzuwarten.

Sag uns deine Meinung!

anzeige

Empfehlungen