Home | Lehre | Videos | Texte | Vorträge | Software | Person | Impressum, Datenschutzerklärung | Blog RSS

MIDI und OSC

Stand: 2012-01-01

Schnittstellen zur Übertragung von musikalischen Steuersignalen

MIDI und OSC sind beide Event-based:

Kennzahlen: Latenz, Jitter, Durchsatz (Throughput)

MIDI

Historie: 1983: Roland MPU-401-Interface für PC; Sequential Circuits Prophet 600; gepflegt von der MIDI Manufacturer's Association; heute: in praktisch jedem elektronischem Instrument (prominente Ausnahme: Korg Wavedrum WD-X) und in mehr oder minder experimentellen Controllern

Übliche physikalische Schnittstelle: seriell mit 31.250 Bits pro Sekunde auf der Leitung, unidirektional, keine Quittierung, galvanisch getrennt, DIN-Stecker, IN/OUT/THRU; Akkorde werden zerlegt, Demo mit Audioaufnahme von MIDI

Alternativ mit XLR-Stecker oder über andere digitale Wege (mehrere „virtuelle“ MIDI-Kabel in beide Richtungen möglich):

Pro „Kabel“ 16 Kanäle (= unabhängige Tastaturen) mit Messages (Demo mit dem MIDI-Monitor aus PortMIDI) wie:

Maximaler Durchsatz: zwei Bytes pro Note (mit „Running Status“), pro Byte acht Bits plus ein Start- und ein Stopbit, macht 0,64 Millisekunden pro Note, macht bestenfalls knapp 16 Noten in 10 Millisekunden. Also ist es fast unumgänglich, mehrere MIDI-Anschlüsse parallel zu nutzen. Dies gilt aber nur für die Verbindung mittels DIN oder XLR. MIDI über USB usw. wird meist schneller sein. Das 2005 angekündigte HD-MIDI hat sich noch nicht materialisiert. Yamaha hatte mit mLAN eine eigene Lösung für FireWire-Verbindungen propagiert.

Weitere MIDI-Funktionen:

Mittel gegen Notenhänger usw.:

Der auf MIDI aufbauende General-MIDI-Standard (GM) legt unter anderem fest:

MIDI-Dateien (Standard MIDI Files, SMF): MIDI-Befehle mit Zeitinformationen und Liedtexten als Dateien, zum Beispiel zum Datenaustausch zwischen Musiksoftware

Beispiel zur plattformübergreifenden MIDI-Programmierung mit dem C++-Framework JUCE (siehe cpp-Datei)

OSC

Open Sound Control (OSC): seit 2001 entwickelt und gepflegt am CNMAT; es ist insbesondere in der experimentellen elektronischen Musik beliebt. Derzeit Spezifikation Version 1.0; die Arbeiten an Version 1.1 sind unterbrochen.

Wesentliche Unterschiede zu MIDI:

Beispiele für Hard- und Software:

Demo mit PureData und Mouse to OSC (siehe pd-Datei, dort auch Vermeidung von Zipper-Noise durch lineare Rampen demonstriert)