- Musical Instrument Digital Interface
-
MIDI [ˈmiːdiˑ] (engl.: musical instrument digital interface [ˈmjuːzɪkl̩ ˈɪnstɹəmənt ˈdɪdʒɪtl̩ ˈɪntɚfeɪs] = „Digitale Schnittstelle für Musikinstrumente“) ist ein Datenübertragungs-Protokoll zum Zwecke der Übermittlung musikalischer Steuerinformationen zwischen elektronischen Instrumenten wie Keyboards, Synthesizern, Drumcomputern oder auch PCs bzw. Laptops. Das betreffende Instrument bzw. der betreffende Rechner muss dazu über entsprechende MIDI-Anschlüsse verfügen. Es gibt drei MIDI-Anschlüsse mit unterschiedlichen Funktionen: MIDI-IN (Eingang), MIDI-OUT (Ausgang) und MIDI-THRU. Letzterer dient dazu, über den MIDI-Eingang empfangene Daten unbeeinflusst an ein weiteres MIDI-Gerät weiterzuleiten.
Drückt man beispielsweise auf einem Musik-Keyboard eine Taste, werden kleine digitale Datenpakete mit den Informationen über die Tonhöhe, die Anschlagstärke sowie die Dauer des Drückens am MIDI-Ausgang (MIDI-OUT) des Keyboards ausgegeben und zum Beispiel an den MIDI-Eingang eines Computers übermittelt, welcher diese Informationen aufzeichnen, abspeichern, wiedergeben und auch in Form von Notenschrift auf dem Bildschirm sichtbar machen kann. Aufgezeichnete MIDI-Daten müssen daher normalerweise zunächst an ein MIDI-Instrument (also zum Beispiel ein Keyboard) zurückgesendet werden. Erst in dessen Klangerzeugermodul werden daraus hörbare Töne und Sounds erzeugt.
Inzwischen nutzen neben elektronischen Instrumenten auch zahlreiche andere Geräte wie beispielsweise (digitale) Mischpulte und Mehrspuraufzeichnungsgeräte das MIDI-Protokoll, um darüber Steuerinformationen auszutauschen. Anstatt MIDI-Datenpakete zur Übertragung von Notenbefehlen zu nutzen, können die Daten hier beispielsweise zum Fernbedienen sämtlicher Mischpultfunktionen (Fader, Muteschalter, Panorama, etc.) oder zur Steuerung der Laufwerksfunktionen eines Recorders (Play, Stop, Vor-/Rückspulen) verwendet werden.
Geschichte
Das Protokoll wurde 1981 von Dave Smith für die Audio Engineering Society entwickelt und von der MIDI Manufacturers Association erstmals 1983 auf der NAMM-Show in Anaheim, USA, vorgestellt. Der MIDI-Standard wird von der MMA (MIDI Manufacturers Association) festgelegt.
Funktionsweise
Das MIDI-Protokoll besteht aus Befehlen zur Steuerung der Klangerzeuger in elektronischen Instrumenten und Soundkarten. Solche Befehle sind beispielsweise Note-on („Taste für Note x wurde gedrückt“), Velocity („Anschlagsstärke“) und Note-off („Taste für Note x wurde wieder losgelassen“). So kann man über eine Tastatur ein anderes MIDI-Instrument spielen und dabei dessen Klänge hören. MIDI-Master-Tastaturen haben selbst keine internen Klangerzeuger.
Neben den musikalischen Befehlen können weitere Datenpakete zur Steuerung des Zielgerätes genutzt werden, so etwa Program-Change-Befehle zur Auswahl eines seiner meist vielen hundert Klangspektren. Viele Klangerzeuger wie Synthesizer, Expander und andere verstehen Befehle, mit denen ihre interne Klangerzeugung direkt beeinflusst werden kann, um so aus einer Reihe einfacher Grundschwingungsformen komplexe, individuelle Klänge zu erzeugen.
Unterschiede zwischen MIDI-Aufzeichnung und digitaler Audioaufzeichnung
„MIDI-Signale“ transportieren lediglich Steuerdaten, die einem elektronischen Klangerzeuger wie z. B. einem Synthesizer, Sampler oder Drumcomputer mitteilen, welchen Ton er wie laut, wie lange mit welchem seiner verfügbaren Sounds spielen soll. (Genaugenommen gibt es keinen MIDI-Befehl für die Dauer eines Tones. Diese ergibt sich aus der Zeit zwischen den „Note-On“ und „Note-Off“ Befehlen.) Digitale „Audiosignale“ hingegen sind ein kontinuierlicher binärer Datenstrom, entstanden durch die sehr schnelle Abtastung (Digitalisierung) analoger Schwingungen einer Audioquelle (Mikrofon oder elektronisches Instrument). Digitale Audiodaten haben eine konstant hohe Datenrate und können nach erfolgter Digital-Analog-Wandlung über ein Verstärker-Lautsprecher-System hörbar gemacht werden. MIDI-Daten fallen meist nur in dem Moment an, in dem Noten auf einem Keyboard gedrückt oder losgelassen werden. Daher entstehen bei MIDI ungleich kleinere Datenmengen als bei digitalisiertem Audio. Aufgezeichnete MIDI-Signale können des Weiteren im Nachhinein jederzeit an einen anderen gewünschten Klangerzeuger gesendet werden, da erst dieser den hörbaren Ton oder Klang formt. Außerdem besteht die Möglichkeit, eingespielte MIDI-Daten im Nachhinein beliebig nichtdestruktiv zu editieren, etwa falsche Töne auf die richtige Tonhöhe oder Abspielposition zu schieben oder ihre Dynamik anzupassen. All diese Veränderungen der Originaleinspielung kosten im Vergleich zur Nachbearbeitung von digitalen Audioaufzeichnungen sehr wenig Rechenaufwand und sind mit allen heute verfügbaren Sequenzerprogrammen möglich. In der Entstehungszeit von MIDI war digitale Audioaufzeichnung noch extrem teuer und damit wenigen Produktionen vorbehalten. Somit eröffnete das technisch nicht sehr aufwendige MIDI mit seiner enormen Leistungsfähigkeit mittels Aufzeichnung reiner Steuersignale Anfang der 1980er Jahre einer breiten Masse von Musikschaffenden plötzlich neue Horizonte.
Seit ein paar Jahren bemüht sich der von Yamaha entwickelte mLAN-Standard um eine Verknüpfung von MIDI- und Audiodaten auf der Basis von FireWire.
Einsatzbereiche
Das MIDI-Protokoll wurde ursprünglich zur gegenseitigen Steuerung von Synthesizern entwickelt, dann aber schnell für Sampler, Drumcomputer, Sound- und Audiokarten, Effektgeräte (Hall, Echo, Equalizer usw.), sog. Controller (wie Masterkeyboards, Drum-Pads, Fader-Boxen usw.) und Computer, schließlich auch zur Steuerung von Lichteffekten für Bühnen adaptiert.
Seit einiger Zeit kann man mit speziellen Geräten aus den Tönen beliebiger Instrumente wie Gitarre, Saxophon oder Harfe MIDI-Daten erzeugen. Hierbei muss insbesondere die gespielte Tonhöhe ermittelt werden, und zwar auch dann, wenn z. B. bei einer Gitarre eine Saite gezogen oder bei der Harfe ein Umstimmer betätigt wird. Beim Spielen einer Gitarre, deren Töne in MIDI-Daten gewandelt wurden, erklingt aus dem angeschlossenen Klangerzeuger anstatt des Gitarrenklangs ein anderer gewünschter Sound. Der Gitarrist wird so zum Streicher, Pianisten oder Blechbläser, wobei die Besonderheiten in der Spielweise einer Gitarre in Verbindung mit dem eingestellten Zielsound bisweilen recht ungewöhnliche Effekte hervorrufen.
Komposition, Arrangement und Notensatz wurden durch die Verbindung von MIDI-fähigem Keyboard und Computer erheblich vereinfacht. Variationen von Stimmen und Songabläufen sind sehr schnell realisierbar und bleiben jederzeit änderbar. Diese Zeitersparnis ist u. a. bei Studioproduktionen ein wichtiger Faktor. Der Komponist greift zwar auf das Hilfsmittel Computer zurück, arbeitet jedoch beim Einspielen der Musik immer noch primär an seiner gewohnten Klaviertastatur.
Als der Speicher in Mobiltelefonen noch sehr knapp war, benutzte man das MIDI-Format für Klingeltöne.
Rechnersysteme
Eine Pionierrolle auf diesem Gebiet spielte der Commodore 64, auf dem insbesondere die deutschen Softwareautoren Gerhard Lengeling und Karl Steinberg ihre ersten Sequenzer programmierten, die für die Namen C-LAB, Emagic und Steinberg stehen. Der kommerzielle Durchbruch für MIDI als Plattform für professionelle Musikproduktion ist eng mit dem Atari ST verbunden, da dieser standardmäßig mit einer MIDI-Schnittstelle ausgeliefert wurde. Die Entwicklung wichtiger MIDI-Programme wie Cubase (Steinberg) oder Notator (Lengeling) begann auf dem Atari ST. Auf dem Commodore Amiga prägte die Softwarefirma Blue Ribbon Inc. mit Bars&Pipes Professional ein neues Sequenzer-Software-Prinzip, das durch seine frei programmierbare Plugin-Schnittstelle in seinen Funktionen fast beliebig erweiterbar ist.
Die heute überwiegend verwendeten Sequenzerprogramme sind das bereits erwähnte Cubase von Steinberg, das – obwohl nicht plattformübergreifend – mittlerweile vor allem auf Windows-PC-Rechnern Verbreitung findet, sein Pendant Logic, das inzwischen von Apple aufgekauft wurde und seitdem nur noch auf der Plattform Apple Macintosh zu Hause ist. Steinberg (einschließlich Cubase) wurde inzwischen von Yamaha aufgekauft. Daneben gibt es Rosegarden und MusE auf unixartigen Plattformen und einige weitere Lösungen wie Cakewalk Sonar, Ableton Live, REAPER, Renoise oder auch Reason.
Dateiformate
Für das Aufzeichnen von MIDI-Befehlen gibt es ein eigenes Dateiformat, das Standard-MIDI-File (kurz: SMF).
Formate
Standard-MIDI-Files (kurz: SMF) gibt es in den Formaten SMF 0, SMF 1 und SMF 2.
Beim Format 0 sind alle MIDI-Kanäle in einer Spur zusammengefasst. Dieses Format wird auch von Klingeltönen für Handys genutzt und kann mit gängigen Sequenzerprogrammen in das Format 1 konvertiert werden.
Im Format 1 hat jeder Kanal seine eigene Spur und optional einen eigenen Namen. Verschiedene Stimmen und Instrumente können so besser identifiziert werden.
Im Format 2 besteht jede Spur (Track) aus unabhängigen Einheiten. Im Gegensatz zu SMF 1 können also mehrere Spuren dieselbe MIDI-Kanal-Nummer haben.
Datei-Endungen
.mid ist die standardisierte Datei-Endung für MIDI-Dateien.
.kar ist eine alternative Endung für MIDI-Dateien. Diese sogenannten 'KARAOKE'-Dateien enthalten den gesamten Song-Text. Das Dateiformat ist exakt dasselbe.
Viele Programme erkennen Dateien mit der Endung .kar nicht als MIDI-Dateien. Eine praxisnahe Vorgehensweise ist, die Datei von NameDerDatei.kar nach NameDerDatei.kar.mid umzubenennen. Windows interpretiert als Endung nur die Buchstaben mid hinter dem allerletzten Punkt. Somit bleibt erkennbar, dass es sich um eine Karaoke-Datei handelt und die Datei kann trotzdem sowohl mit Karaoke-fähiger Software als auch mit normalen „Playern“ abgespielt werden.
.rmi ist die von Microsoft benutzte Endung für RIFF-RMID-Dateien. Bei diesen ist eine reguläre MIDI-Datei in einen RIFF-Container verpackt. RIFF-RMID ist kein offizieller MMA- oder AMEI-MIDI-standard.
.syx ist eine Endung für Dateien, die MIDI-SysEx-Daten enthalten. Dies sind zumeist Sound-Presets von Synthesizern.
MIDI-Anschlüsse
Es existieren drei verschiedene MIDI-Anschlüsse, MIDI-In, MIDI-Out und MIDI-Thru. Diese Dreierkombination wird umgangssprachlich auch Midi-Trio genannt.
MIDI-In wird von einem Gerät zum Empfang verwendet. MIDI-Out wird zum Senden verwendet. MIDI-Thru schickt am MIDI-In empfangene Signale unbearbeitet weiter.
Physisch sind die Anschlüsse als fünfpolige DIN-Buchsen realisiert. In seltenen Ausnahmen (z. B. bei der MIDI-Interface-Karte „Roland MPU-401 AT“ als ISA-Karte) sind die Anschlüsse auch als 6-polige Mini-DIN-Buchsen ausgelegt. In solchen Fällen hilft ein Anschluss-Adapter, der baugleich zu einem Tastatur-Adapter „Mini-DIN-Stecker zu DIN-Buchse“ (PS/2 auf AT) ist.
MIDI arbeitet nach dem Master-Slave-Prinzip. Will man mit einem Keyboard einen Synthesizer steuern, verbindet man die MIDI-Out-Buchse des Keyboards (Master) mit der MIDI-In-Buchse des Synthesizers (Slave). Sollen mit einem Keyboard (Master) zwei Soundmodule z. B. ein JD-990 und ein MC-303 als Slave A und B angesteuert werden, verbindet man MIDI-Out des Masters, mit dem MIDI-In des Slave A sowie die MIDI-Thru-Buchse des Slave A mit dem MIDI-In des Slave B.
Ein häufig anzutreffendes Szenario ist der Einsatz eines Computers mit entsprechender Sequenzer-Software sowie der Anschluss eines Keyboards oder elektronischen Pianos zum Einspielen der Noten und mehreren Synthesizern zur Klangerzeugung. Dabei wird üblicherweise der MIDI-Out des Keyboards mit dem MIDI-In des Computers verbunden, der MIDI-Out des Computers mit den MIDI-Ins der Synthesizer, ggf. verkettet über MIDI-Thru. Zu beachten ist, dass sich beim Verketten mehrerer Geräte über MIDI-Thru Verzögerungen im MIDI-Datenstrom aufaddieren und zu Timingfehlern bei den abgespielten Noten führen können. Eine sternförmige MIDI-Verkabelung, bei der das Master-Keyboard seine Daten an einen zentralen Mehrfach-MIDI-Verteiler (MIDI-Patchbay) sendet, an dem alle weiteren MIDI-Geräte angeschlossen sind, beseitigt solche Probleme.
MIDI-Anschlüsse am PC
Die standardmäßigen DIN-Buchsen für MIDI sind zu groß, um direkt in die Rückplatte einer PC-Steckkarte eingebaut zu werden. Ältere PC-Soundkarten, ausgehend vom Soundblaster, haben einen Anschluss geprägt, bei dem sich Game-Interface und MIDI-Interface eine 15-polige D-Sub-Buchse teilen und der heute immer noch in billigeren, nicht professionellen MIDI-Interfaces in PCs vertreten ist. Die Soundkarte braucht hierbei nur zwei digitale, serielle Leitungen ohne Datenflusskontrolle zur Verfügung zu stellen (MIDI verwendet keine Datenflusskontrolle). Bei dieser Art der Hardware-Implementierung ist ein Teil des MIDI-Interfaces in einen externen, oft separat zu erwerbenden Teil verlegt, der meistens in den dickeren Stecker eines Kabels vergossen ausgeführt ist (siehe Abb.). Motherboards, die Sound-, MIDI- und Game-Controller on-Board haben, haben diese kombinierte Game-/MIDI-Anschlussbuchse übernommen. Dem entsprechen Sound-, Game- und MIDI-Chipsätze, die diese Funktionalitäten teilweise oder ganz gemeinsam integrieren. Das Vorhandensein einer 15-poligen D-Sub-Buchse an sich erlaubt jedoch noch keinen Rückschluss darauf, ob ein MIDI-Interface vorhanden ist oder, falls vorhanden, von welcher Qualität es ist.
Professionelle MIDI-Interfaces für PCs benutzen meistens proprietäre Buchsen zwischen Steckkarte und externem Gerät.
Technik
Hardware
MIDI ist eine unidirektionale Schnittstelle zur seriellen Datenübertragung ohne Datenflusskontrolle. Die Übertragungsgeschwindigkeit beträgt 31250 Bit/s (exakt 32 µs pro Bit). Im Unterschied zu pegelgesteuerten Computer-Schnittstellen wird bei MIDI eine 0 mA/5 mA-Stromschleife verwendet. Bei der MIDI-Steckverbindung (DIN 5/180° – früher Diodenbuchse/-stecker) werden die Pins 4 und 5 als Datenleitung benutzt. Dabei liegt gemäß dem Schaltungsvorschlag in der MIDI-Spezifikation Pin 4 über einen 220 Ohm Widerstand an +5 V, Pin 5 wird ebenfalls über 220 Ohm gegen Masse geschaltet. Wird Pin 5 auf Masse geschaltet (0 V) und ist am anderen Ende ein MIDI-In-Port angeschlossen (nochmals 220 Ohm in Reihe mit dem Optokoppler) fließt der Strom über die Leitung, dieser Zustand ist als logische „0“ definiert. Wird Pin 5 nicht geschaltet (+5 V) fließt kein Strom über die Leitung, dieser Zustand ist als logische „1“ definiert und auch der Ruhezustand. Durch den Optokoppler in der Empfangsleitung ergibt sich eine galvanische Trennung der einzelnen MIDI-Geräte untereinander, die Masseleitung (Pin 2 und Schirm) darf an der MIDI-In-Schnittstelle nicht angeschlossen sein, um Masseschleifen zu vermeiden.
MIDI-Hardware im PC
Um mit einem Computer über MIDI zu kommunizieren, muss ein „Signal-Konverter“ zwischengeschaltet werden. Diesen nennt man MIDI-Interface. Jede Datenübertragungs-Schnittstelle des Computers kann mit einem geeigneten MIDI-Interface für die MIDI-Übertragung genutzt werden. Lange Zeit war die übliche Vorgehensweise, die MIDI-Signale, die an einem kombinierten Game-/MIDI-Anschluss entsprechender Soundkarten verfügbar waren, über einen Adapter (siehe MIDI-Anschlüsse) auf die Standard-MIDI-Schnittstelle umzusetzen. Softwareseitig war die Hardware meistens MPU-401-kompatibel. Vorher waren auch MIDI-Interfaces für die serielle (COM) und parallele (Druckerport) Schnittstelle im Gebrauch. Inzwischen gibt es MIDI-Interfaces auch für USB, FireWire (mLAN) und LAN.
MIDI-Protokoll
Jeder MIDI-Befehl (mit Ausnahme systemexklusiver Daten, kurz SysEx genannt) trägt neben seiner Befehlskennung und den Befehlsdaten auch eine Kanalnummer. Die Kanalnummer ist 4 Bit groß, es lassen sich dadurch 24, also 16 Kanäle ansteuern. Je nach Software sind die Kanäle 0–15 oder 1–16 durchnummeriert. Jeder Kanal steuert einen speziellen Klang (Instrument), in der MIDI-Sprache „Programm“ genannt.
MIDI ist ein serielles Protokoll und die Datenrate der MIDI-Schnittstelle ist für heutige Verhältnisse gering. Das hat Timingprobleme beim gleichzeitigen Abspielen vieler Noten zur Folge. Schon das Anschlagen eines Akkords mit mehreren Noten kann zu hörbaren Verzögerungen führen, denn MIDI kann die Noten nie zeitgleich durch die Leitung schicken, sondern nur nacheinander. Im professionellen Bereich werden daher Rechner mit mehreren MIDI-Schnittstellen verwendet, um hohe Datenmengen parallel an die verschiedenen Tonerzeuger schicken zu können. Doch bereits eine geringe Anzahl von gleichzeitig übertragenen Realtime-Controllern kann immer noch zur hörbaren Überlastung des MIDI-Interface führen. Trotz dieser Einschränkungen und des hohen Alters erfreut sich MIDI nach wie vor großer Beliebtheit, da es weit verbreitet, gut standardisiert und sehr zuverlässig ist. Eine Fortentwicklung wäre aus Anwendersicht wünschenswert. Von Yamaha gibt es mit XG-MIDI eine Erweiterung, die genau wie Rolands GS-MIDI zwar qualitative Verbesserungen bringt, allerdings nicht über ein proprietäres System hinaus gedieh. Als Quasi-Standard durchgesetzt hat sich lediglich GM (General MIDI).
MIDI-Geräte
- Masterkeyboard: Ein Masterkeyboard erzeugt Noteninformationen im MIDI-Format und dient ausschließlich der Steuerung von Expandern, Software-Synthesizern oder zur Aufzeichnung der Tastenbewegung beim Einspielen von Musik. Es enthält keine eigene Klangerzeugung.
- Musikinstrumente-Adapter: Für viele akustische Musikinstrumente existieren Tonabnehmer zur Erzeugung von MIDI-Signalen (z. B. Guitar-to-MIDI-Converter, Piano-Aufsetzer etc.) Hierbei wird die akustische Schwingung durch ein Mikrofon aufgenommen und in eine MIDI-Tonhöhe umgerechnet.
- Musikinstrumente-Ersatz: Eine Reihe von Instrumenten existieren heute als reine MIDI-Geräte, bei denen die Tonerzeugung ausschließlich mit einem Expander möglich ist. Beispiele dafür sind MIDI-Geigen und Blaswandler (breath controller).
- Expander: Ein Expander ist ein externer Klangerzeuger ohne eigene Tastatur. Er empfängt Noten ausschließlich per MIDI. Nur Parameter, die sich mit Knöpfen am Expander einstellen lassen, werden zurück übertragen und können aufgezeichnet werden. Expander existieren in Form von klassischen ROM-Klangerzeugern sowie Synthesizermodulen.
- Synthesizer bzw. Keyboard: Synthesizer- und Keyboardgeräte sind eine Kombination aus Masterkeyboard und integriertem Klangerzeuger. Sie verfügen fast alle über eine MIDI-Schnittstelle, um Tasten- und Reglerbewegungen zu Aufzeichnungszwecken übertragen zu können. Statt am Gerät selbst zu spielen, kann so die komplette Musikinformation später wieder an den internen Klangerzeuger rückgespielt werden.
- Hardware-Sequenzer: Der Sequenzer dient der Aufzeichnung der MIDI-Daten und dem Arrangement eines Musikstückes. MIDI-Sequenzer erlauben das Programmieren, die Aufzeichnung sowie die Wiedergabe von aufgezeichneten oder programmierten MIDI-Informationen (Notenwerte, Anschlagsstärke sowie weiteren Steuerungsbefehlen wie z. B. Modulation). Für den Live-Einsatz erfreuen sich auch die in Keyboards oder Groove-Boxes integrierten Sequenzer großer Beliebtheit.
- Workstation: Eine Kombination aus Klangerzeuger / Synthesizer, Masterkeyboard und Hardware-Sequenzer wird als Workstation bezeichnet.
- Software-Sequenzer: Softwaresequenzer sind Programme mit MIDI-Unterstützung. Sie haben im Bereich der Komposition große Bedeutung, da sie über die Standardfunktionen (Programmieren, Aufzeichnen, Abspielen) hinaus auch weitere Bearbeitungsmöglichkeiten in grafischer Form bieten (nachträgliches Editieren, Quantisierung usw.), und heutzutage nicht nur MIDI-, sondern auch Audiomaterial verarbeiten können. Diese Kombination aus Audio- und MIDI-Bearbeitung auf einem PC nennt man DAW (Digital Audio Workstation).
- MIDI-Interface für PC (MPU-401): Hierbei handelte es sich ursprünglich um eine 8-Bit-ISA-Steckkarte des Herstellers Roland. Viele für MS-DOS-PCs erhältliche Computerspiele zwischen 1988 und 1995 unterstützten diese MIDI-Schnittstelle zur Ansteuerung von Klangerzeugern wie z. B. der internen Roland LAPC-I oder dem externen MT-32. Andere Hersteller wie bspw. Creative Labs unterstützten den MPU-401-Modus nur eingeschränkt im so genannten Dumb-Mode (UART), während der Intelligent-Mode, der genaues Timing durch Hardwareunterstützung garantierte, nur von Rolands eigenen Produkten beherrscht wurde.
- MIDI-Interface für PC (Gameport): Der Gameport-MIDI-Adapter erweitert den Gameport einer Soundkarte um ein MIDI-Interface mit meistens einem MIDI-In, einem MIDI-Out und einem MIDI-Thru. Es gibt auch MIDI-Interfaces für den Gameport ohne MIDI-Thru oder mit mehreren MIDI-Out-Kanälen. Letzteres bietet den Vorteil, dass die bei der Reihenschaltung von Geräten über MIDI-Thru/MIDI-In entstehende Latenz vermieden werden kann, falls die Thru-Funktion nicht über eine hardwareseitige Kopplung der In- mit der Thru-Buchse erreicht wird (Soft Thru). Bei diesen MIDI-Interfaces handelt es sich um synchrone Interfaces, d. h. auf allen MIDI-Out-Kanälen liegt dasselbe MIDI-Signal an. Die Zahl der Kanäle bleibt dann auf 16 beschränkt. Im professionellen Produktionsumfeld werden Gameport-MIDI-Adapter nicht eingesetzt, weil die zugrunde liegenden Treiber im Allgemeinen nicht timingstabil sind und (was noch viel schlimmer ist) oftmals wichtige Bauteile (u. a. die sogenannten Optokoppler zur galvanischen Trennung der MIDI-Verbindung) in den Adapterkabeln fehlen und diese (auch wenn sie mit den notwendigen Bauteilen ausgestattet sind) in der Regel nicht sehr zuverlässig arbeiten.
- MIDI-Interface für USB oder FireWire (IEEE1394): Da MIDI im Wesentlichen ein Datenprotokoll zur Steuerung von elektronischen Musikinstrumenten darstellt, ist es in diesem Zusammenhang prinzipiell unerheblich, über welche Hardware die Daten übertragen werden. Um eine kostengünstige, plattformübergreifende und vor allem schnelle Anbindung externer MIDI-Interfaces an den Rechner zu erreichen, verfügen heute viele MIDI-Adapter über einen USB- oder FireWire-Anschluss, über den dieser die über die Out-Ports zu verteilenden Daten erhält. Diese Art von MIDI-Interfaces stellt die im Vergleich zum PC-Gameport deutlich zuverlässigere Variante zum Anschluss von MIDI-Geräten an den Rechner dar, da die verwendeten Treiber von den Herstellern dieser verhältnismäßig teuren Geräte zumeist auf Timinggenauigkeit hin optimiert werden. Für den professionellen Einsatz werden Interfaces mit vier bis acht einzeln adressierbaren Out-Ports verwendet, mit denen Timingprobleme deutlich vermindert werden können (vgl. auch folgender Absatz).
- MIDI-Interface für Atari ST: Der Atari ST verfügt über eine eingebaute MIDI-Schnittstelle. Eine Nachrüstung ist nicht notwendig.
- MIDI-Interface für Amiga: Beim Commodore Amiga sind die meisten MIDI-Interfaces Adapter für die serielle Schnittstelle mit einem MIDI-In, einem MIDI-Thru und meistens drei MIDI-Out. Es gibt sowohl synchrone als auch asynchrone MIDI-Interfaces. Bei einem asynchronen MIDI-Interface sind die verschiedenen MIDI-Out-Schnittstellen unabhängig voneinander ansteuerbar. Bei drei MIDI-Out-Schnittstellen gibt es also 48 MIDI-Kanäle (3×16).
- MIDI über USB oder FireWire: MIDI lässt sich über USB oder FireWire tunneln. Dabei kommen im Gegensatz zum MIDI-Interface für USB keine MIDI-Kabel mehr zum Einsatz.
- Effektgeräte: Zahlreiche Effektgeräte lassen sich über MIDI fernsteuern.
- Digitale Mischpulte sind ebenfalls meist über MIDI-Controller-Befehle steuerbar. Auch können so die Aktivitäten am Pult aufgezeichnet werden.
Siehe auch: Audio Stream Input/Output (ASIO), Sequenzer (Musik), Synthesizer, Sampler, Soundkarte, SoundFont
MIDI über USB/FireWire
Immer häufiger anzutreffen ist der Einsatz von USB- oder FireWire-Geräten. Dabei werden die MIDI-Befehle über USB bzw. FireWire übertragen. Es lassen sich über USB oder FireWire mehrere virtuelle MIDI-Verbindungen realisieren, wodurch die begrenzte Zahl der Kanäle von 16 pro MIDI-Verbindung praktisch keine Rolle mehr spielt. Immer mehr Hersteller MIDI-fähiger Musikgeräte gehen angesichts der erwähnten Vorteile dazu über, ihre Geräte neben den klassischen MIDI-Schnittstellen auch mit USB- oder FireWire-Schnittstellen auszustatten.
Erwähnenswert ist, dass sich das USB-MIDI-Protokoll vom herkömmlichen MIDI-Protokoll unterscheidet. Nachzulesen in der „Universal Serial Bus Device Class Definition for MIDI Devices“ (englisch) im Kapitel 4: USB-MIDI Event Packets.
Die dort genannten „Jacks“, max. 16 pro USB-Endpoint, haben jeweils wieder 16 Kanäle.
Wireless MIDI
Dem Trend hin zur drahtlosen Datenübertragung folgend werden auch Geräte angeboten, mit denen sich MIDI-Daten per Funk übertragen lassen. Diese Geräte (z. B.: [1], [2]) benutzen meist die Übertragungsfrequenz von 2,4 GHz (ISM-Band), um die Daten zu übermitteln. Bei erkannten Übertragungsfehlern senden sie ein „ALL NOTES OFF“, um „hängende“ Töne zu vermeiden. Laut Herstellerangaben haben diese Geräte eine Reichweite von 10-80 Metern.
MIDI über Netzwerk
Seit einiger Zeit gibt es eine Reihe von virtuellen MIDI-Gerätetreibern, die es erlauben, MIDI-Daten über IP-basierende Netzwerke zu übermitteln. Während die meisten dieser Produkte auf proprietärer Basis die MIDI-Daten per TCP oder UDP über das Netzwerk übertragen, gibt es mittlerweile auch einen RFC für eine genormte Übertragung von MIDI-Daten über Netzwerke auf Basis des RTP-Protokolls: RFC 4695. Es gibt mehrere Open-Source-Implementierungen dieses Standards und auch das Apple-Netzwerk-MIDI der Mac OS X ab 10.4 und iPhone OS ab 4.2 basiert auf dieser Spezifikation. Es existiert auch ein Windows RTP-MIDI Treiber[3], welcher auf Windows XP bis Windows 7 (32bit and 64bit) läuft und kompatibel zur Apple-Implementation ist.
Funktionsweise des MIDI-Protokolls
MIDI verwendet kurze Bytefolgen, um Signale auszutauschen. Das Signal lässt sich mit einem Sequenzer als Musikstück aufzeichnen, bearbeiten und wiedergeben.
Die übertragenen Bytes
Die folgenden Tabellen erfordern das Verständnis des Hexadezimalsystems. Ein Byte ist aus zwei Hexadezimalziffern (0–9 A–F) aufgebaut. Eine einzelne Hexadezimalziffer als Halbbyte wird auch Nibble genannt. Das Nibble n steht für die Kanalnummer (n = number), das Byte kk für die Note (k = key), das Byte vv für den Wert (v = value). Die Kanalnummer reicht von 0–15. In vielen Programmen wird bei der Darstellung der Kanalnummer die tatsächliche Kanalnummer um 1 erhöht dargestellt, also 1–16 statt 0–15.
Ein Statusbyte ist ein Byte, das einen Befehl im MIDI-Strom enthält. Auf einen Befehl folgt eine passende Anzahl Datenbytes. Um einen unterbrochenen Datenstrom jederzeit korrekt wieder aufzunehmen, fordert das MIDI-Protokoll die Fähigkeit, Statusbytes von Datenbytes zu unterscheiden. Dazu definiert MIDI, dass das erste Bit eines Statusbytes gesetzt (1) ist, das erste Bit eines Datenbytes dagegen ungesetzt (0). Daraus folgt, dass die Hexadezimaldarstellung von Statusbytes im Bereich 0x80–0xFF liegt, die von Datenbytes dagegen zwischen 0x00–0x7F. Außerdem gilt für Statusbytes, dass das zweite Nibble immer n ist, was für den MIDI-Kanal steht, auf dem der Befehl ausgeführt wird.
Kommt statt eines erwarteten Statusbyte ein Datenbyte, dann gilt das letzte Statusbyte als wiederholt und das aktuelle Datenbyte zählt zu dessen Daten.
Die Beispiele werden anhand von Tasten eines Tasteninstruments wie eines Keyboards erläutert, sind aber auf jedes MIDI-fähige Instrument übertragbar, z. B. auch eine MIDI-Gitarre.
Statusbytes
Das Statusbyte ist immer das erste übertragene Byte einer zusammengehörigen MIDI-Nachricht. Das erste Bit des Statusbytes ist immer 1 (gesetzt).
Statusbytes Bytes (hexadezimal) Folgebytes Status Erläuterung 0x8n kk vv Note, Release velocity Note Off Beendet das Spielen der angegebenen Note, hat also die Bedeutung des Loslassens einer Taste. Wurde die Note vorher gar nicht gespielt, wird dieses Signal einfach ignoriert. 0x9n kk vv Note, Anschlagsdynamik Note On Beginnt das Spielen einer Note. Zusätzlich wird die Anschlagsdynamik (engl. Velocity) angegeben, die der Druckstärke auf die Taste in 127 Schritten von 1 (sehr schwach) bis 127 (sehr stark) entspricht. Der Wert 0 ist als Note Off-Befehl definiert. 0xAn kk vv Note, Dynamic Polyphonic Aftertouch Beschreibt das Ändern des Tastendrucks während die Taste bereits gedrückt ist, für jede Taste einzeln. Diese Daten sind neutral, d. h. sie müssen anderen Daten zugeordnet werden. z. B.: Zuordnung zu Controller 11: Expression – Ausdruckstärke, womit nach dem Anschlag der Taste über den „Bodendruck“ auf die Taste der Klang eines Saxophones verändert werden kann, während der Ton klingt.
0xBn cc vv Controller, Wert Control Change Ändert den Zustand eines Controllers (siehe nächster Abschnitt) (cc = Controller) 0xCn pp Programmnummer Program Change Legt das für den angegebenen Kanal zu spielende Instrument fest (pp = Program Number) 0xDn vv Wert Monophonic bzw. Channel Aftertouch Beschreibt das Ändern des Tastendrucks während die Tasten bereits gedrückt sind, für alle Tasten gemeinsam. Genau wie bei Polyphonic Aftertouch sind diese Daten neutral.
0xEn vv vv Wert1, Wert2 Pitch Bending Einstellung des Pitchbend-Rades. Die zwei Datenbytes ergeben zusammen den 14 Bit breiten Wert zwischen 0 und 16383. Hierbei ist zu beachten, dass sie vertauscht kombiniert werden, also Byte 2 + Byte 1 = 14 Bit-Wert. Die Mittelstellung des Rades wird durch den Wert 8192 signalisiert. 0xF0 xx… 0xF7 Geräteabhängig System (exclusive) Message Steuermeldungen, häufig gerätespezifisch, Länge ebenfalls gerätespezifisch (xx = Datenbytes) Controller
Sinn und Zweck eines MIDI-Controllers ist es, dem Anwender eine möglichst gute Haptik bei der Beeinflussung seiner Musik zu vermitteln. Die Veränderungen der Musik sollen mit Händen oder Füßen erfühlt werden können. Dazu hat der Controller mechanisch bewegliche Elemente, die der Benutzer bedienen kann. Diese Bewegung wird in MIDI-Befehle übersetzt und an die Geräte sowie Klangerzeuger weitergegeben. Sie arbeiten somit ähnlich wie Gamecontroller, die allerdings im Gegensatz zu Midicontrollern ein proprietäres Protokoll nutzen. Der einzelne Midibefehl wird verwirrenderweise im Bereich der Midicontroller ebenfalls als Controller bezeichnet, was aber die ursprünglichere Verwendung darstellt.
Erst in neuerer Zeit nutzt man Controller auch derart, dass die Semantik der Midi-Befehle – in untenstehender Tabelle als Typ bezeichnet – ignoriert wird. Dem Befehl werden andere Funktionen zugeordnet als im Midi-Protokoll vorgesehen. Das ist häufig der Fall, wenn die Musikbearbeitung ausschließlich auf einem Computer durchgeführt wird. Insbesondere bei DJ-Programmen sind speziell angepasste Controller sehr verbreitet, wo beispielsweise mit dem Midisignal ein Dateibrowser zur Songauswahl sowie Funktionen wie Start, Stop oder in anderer Richtung eine Hardware LED im Controller bedient werden. Der semantisch mit der Tonhöhe belegte Midibefehl kann hier beispielsweise die Länge einer Wiederholungsschleife (Loops) darstellen. Gerade hier ist die Controllerhaptik wichtig, da sich mit der Maus am Computer die erforderliche Reaktionszeit und Feinfühligkeit zum Beispiel bei der Synchronisierung des Beats zweier Songs nicht erreichen lässt. Dem proprietären Charakter dieser Anwendungsart kann durch freie Belegbarbarkeit der Midibefehle sowohl im Programm als auch im Controller begegnet werden, was allerdings noch lange nicht die Regel ist.
Klassische Anwendungen des Midicontrollers halten sich hingegen streng an die Semantik des Midiprotokolls. Diese haben im Bereich der Musikerzeugung größere Bedeutung, da sich mit ihnen auf einfache Art und Weise gerätespezifische Klangparameter des aktuellen Instruments steuern lassen. Unterschiedliche Geräte sind dabei kompatibel auswechselbar.
Die Controller senden auf einem bestimmten Kanal mit einer bestimmten Controllernummer einen bestimmten Wert. Einfache Controller können Werte von 0 bis 127 annehmen, was jedoch bei Tonhöhenänderungen sehr schnell zu unschönen Treppenverläufen im Klang führt. Daher lassen sich die Controller 0–31 mit einem sogenannten LSB-Controller 32–63 koppeln, um so eine wesentlich höhere Auflösung zu erhalten. In der Praxis wird diese Technik jedoch selten angewandt, da eine Auflösung der Lautstärke beispielsweise in 128 Schritten fein genug erscheint.
Schalter wie beispielsweise das Haltepedal Nummer 64 können zwar theoretisch Werte von 0–127 senden, da ein Schalter allerdings nur zwei Werte annehmen kann, werden üblicherweise Werte von 0 bis 63 als „Aus“ und Werte von 64 bis 127 als „An“ interpretiert.
Verwendet man ein programmierbares Steuergerät, so sind Kenntnisse der Controllernummern und was diese üblicherweise steuern von großem Nutzen. Die wichtigsten Controller sind in der nachfolgenden Tabelle zusammengestellt. Das erste Byte eines Controllerbefehles lautet immer 0xBn, wobei n die Kanalnummer angibt. cc steht für die Controllerart (cc = continuous controller) und vv für den Wert, den der zu steuernde Klangparameter annehmen soll.
Wichtige MIDI-Controller Byte (hexadezimal) Dezimal Typ Erläuterung 0xBn 00 vv 0 Bank select MSB gefolgt von Bank select LSB Controller 32 0xBn 01 vv 1 Modulation MSB Stellung des Modulationsrades 0xBn 02 vv 2 Breath Controller Blasregler 0xBn 03 vv 3 Undefined Undefiniert bzw. frei verwendbar 0xBn 04 vv 4 Foot Controller MSB Stellung des Pedals 0xBn 05 vv 5 Portamento Time MSB Dauer des übergangslosen Gleitens zwischen zwei Tonhöhen 0xBn 06 vv 6 Data Byte Datenbyte für einen RPN-/NRPN-Controller 0xBn 07 vv 7 Main volume Gesamtlautstärke 0xBn 08 vv 8 Balance Verstärkung des rechten bzw. linken Lautsprechersignals (nur Stereo) 0xBn 09 vv 9 Undefined Undefiniert bzw. frei verwendbar 0xBn 0A vv 10 Panorama Stereopositionierung im Raum (links … mittig … rechts) 0xBn 0B vv 11 Expression Ausdrucksstärke des Klangs 0xBn 0C vv 12 Effect Control 1 Effekt 1 steuern (2-Byte-Befehl, 14-Bit-Controller, gesendet in der Reihenfolge 0xBn 0C vv, 0xBn 2C vv) 0xBn 0D vv 13 Effect Control 2 Effekt 1 steuern (2-Byte-Befehl, 14-Bit-Controller, gesendet in der Reihenfolge 0xBn 0D vv, 0xBn 2D vv) 14–15 Undefined Undefiniert bzw. frei verwendbar 16–19 General Purpose Controllers 1–4 Frei belegbare Controller 1–4 20–31 Undefined Undefiniert bzw. frei verwendbar 0xBn 20 vv 32 Bank select LSB gefolgt von Programmnummer-Befehl: Cn xx (n – MIDI kanal; xx – Nummer) Das „Bank select MSB/LSB/Programmnummer“ wird verschieden genutzt. z. B. YAMAHA bei XG
für die Auswahl einer Tonebank: MSB(Ctrl.0) = 0 LSB(Ctrl.32) = Banknummer
für die Auswahl eines Drumsets: MSB(Ctrl.0) = Drumset LSB(Ctrl.32) = 0
33–63 LSB for Controllers 1–31 (rarely implemented) Dienen eigentlich dazu, die Controller 1–31 feiner auflösen zu können, wird aber kaum verwendet 0xBn 40 vv 64 Hold 1 Haltepedal, Werte vv von 0–63 werden als „aus“ interpretiert, Werte von 64–127 als „an“ 0xBn 41 vv 65 Portamento Portamento ein- und ausschalten 0xBn 42 vv 66 Sostenuto Während des Drückens des Pedals bereits gespielte Noten werden gehalten, neu hinzukommende nicht 0xBn 43 vv 67 Soft Pedal Senkt die Lautstärke der gespielten Noten 0xBn 44 vv 68 Legato Footswitch Legatopedal 0xBn 45 vv 69 Hold 2 2. Haltepedal 0xBn 46 vv 70 Sound Controller 1 (Sound Variation) Klangsteuerung 1, meistens Klangvariation 0xBn 47 vv 71 Sound Controller 2 (Harmonic Content) Klangsteuerung 2, meistens Teiltonhaltigkeit 0xBn 48 vv 72 Sound Controller 3 (Release Time) Klangsteuerung 3, meistens Ausschwingzeit 0xBn 49 vv 73 Sound Controller 4 (Attack Time) Klangsteuerung 4, meistens Einschwingzeit 0xBn 4A vv 74 Sound Controller 5 (Brightness) Klangsteuerung 5, meistens Helligkeit 75–79 Sound Controller 6–10 Klangsteuerung 6–10, keine Vorschlagswerte 80–83 General Purpose Controllers 5–8 or General Purpose Buttons 1–4 Frei belegbare Controller 5–8 (vv = 0–127) oder Taster 1–4 (vv =0 –63: „aus“, vv = 64–127: „an“) 0xBn 54 vv 84 Portamento Control Kontrolle des Portamento 85–90 Undefined Undefiniert bzw. frei verwendbar 0xBn 5B vv 91 Effects 1 Depth Effekttiefe 1, früher Intensität eines externen Effektes 0xBn 5C vv 92 Effects 2 Depth Effekttiefe 2, früher Tremolointensität 0xBn 5D vv 93 Effects 3 Depth Effekttiefe 3, früher Chorusintensität 0xBn 5E vv 94 Effects 4 Depth Effekttiefe 4, früher Detuneinstensität 0xBn 5F vv 95 Effects 5 Depth Effekttiefe 5, früher Phaserintensität 0xBn 60 vv 96 Data Increment RPN/NRPN Wert eines RPN/NRPN Controllers erhöhen 0xBn 61 vv 97 Data Decrement RPN/NRPN Wert eines RPN/NRPN Controllers erniedrigen 0xBn 62 vv 98 NRPN LSB Niederwertiges Byte eines NRPN-Controllers 0xBn 63 vv 99 NRPN MSB Höherwertiges Byte eines NRPN-Controllers 0xBn 64 vv 100 RPN LSB Niederwertiges Byte eines RPN-Controllers 0xBn 65 vv 101 RPN MSB Höherwertiges Byte eines RPN-Controllers 102–119 Undefined Undefiniert bzw. frei verwendbar 0xBn 78 vv 120 all sounds off Klangerzeugung sofort einstellen (vv hat keine Bedeutung) 0xBn 79 vv 121 Controller Reset Setzt alle Controller auf ihre Ursprungswerte 0xBn 7A vv 122 Local Control on/off Koppelt die Tastatur vom internen Klangerzeuger eines Gerätes ab; die interne Klangerzeugung kann weiterhin von außen über MIDI angesteuert werden, während die Tastatur weiterhin über den MIDI-Ausgang Daten sendet, aber eben nicht mehr an die interne Klangerzeugung 0xBn 7B vv 123 all notes off Spielen einstellen – sämtliche Noten werden ausgeschaltet, die Klänge durchlaufen jedoch noch ihre Release-Zeit (d. h. sie klingen ab) (vv hat keine Bedeutung) 0xBn 7C vv 124 omni off Das Gerät soll nur auf programmierte Kanäle reagieren (vv haben keine Bedeutung) 0xBn 7D vv 125 omni on Das Gerät soll auf allen Kanälen gleich reagieren (vv hat keine Bedeutung) 0xBn 7E vv 126 mono on / poly off Das Gerät soll nur mit einer begrenzten Anzahl Stimmen spielen (vv = Stimmenzahl, üblich ist 1 – viele Geräte ignorieren vv und stellen auf einstimmig) 0xBn 7F vv 127 poly on / mono off Das Gerät soll mit maximaler Anzahl an Stimmen spielen MSB engl. : Most Significant Byte = höchstwertigstes Byte
LSB engl. : Least Significant Byte = niederwertigstes Byte
NRPN/RPN
Die NRPN (Non Registered Parameter Number) Controller dienen dazu, Parameter zu steuern, die in den normalen Controllerraum keinen Platz finden, die der Hersteller aber steuerbar machen will.
Es wird ein Parameter im Bereich von 0 und 16383 gesendet. Danach wird entweder ein normaler MIDI-Controller #6 mit einem bestimmten Wert 0–127 gesendet oder ein Data Increment/Decrement #96, #97, wobei hier der dritte Parameter egal ist.
Da es im MIDI-Protokoll nicht möglich ist einen Wert größer als 127 zu senden, gibt es das NRPN-MSB (Controller #99) und das NRPN-LSB (Controller #98).
Der Wert im Bereich zwischen 0 und 16383 wird als Binärwert behandelt. Die niederwertigen sieben Bit dieser binären Zahl werden mit dem NRPN-LSB Controller versendet, die sieben höherwertigen mit dem NRPN-MSB Controller. Wichtig ist, dass der MSB-Controller vor dem LSB-Controller versendet wird.
Danach ist ein bestimmter NRPN Parameter aktiviert und man kann ihn über #6 einen Wert von 0 bis 127 zuweisen oder ihn mit #96/#97 erhöhen und verringern.
RPN funktioniert genau so, nur mit dem Unterschied, dass die LSB und MSB Controller #100, #101 sind (siehe Tabelle).
Nachteil an dieser Art der Übertragung ist, dass man insgesamt drei Controller versenden muss. Der Vorteil hingegen ist, dass man eine große Anzahl an Parametern (z. B. alle Parameter einer DAW) damit steuern kann. Interessant wäre auch die Möglichkeit das Protokoll zu missbrauchen und mit RPN einen Parameter zu selektieren und ihn über NRPN einen bestimmten Wert z. B. 13980 zuzuweisen. Dadurch wären Parametersprünge kaum mehr hörbar und man könnte immer noch herkömmliche Synths in der Kette verwenden.
MIDI Clock
Die MIDI Clock ist eine Funktion von MIDI zur Synchronisation von mehreren Synthesizern bzw. Sequenzern.
Sie sendet Start und Stop sowie auf jeder 96tel Note einen Tick. Diese Nachrichten beinhalten nur ein Byte.
Der Tick wird mit F8 (Dezimal: 248) übermittelt.
Start mit FA (Dezimal: 250) und Stop mit FC (Dezimal: 252).
Durch diese Signale starten alle Sequencer gleichzeitig, behalten den gleichen Takt und stoppen auch wieder gleichzeitig.
Rechtliches
MIDI-Dateien unterliegen dem Urheberrecht. Professionelle MIDI-Dateien sind mit hohem Aufwand eingespielt, d. h. Musiker spielen Originaltitel nach und erstellen die fertige MIDI-Datei. Nicht nur der Komponist des Originalmusiktitels hat Urheberrechte auf das Stück, auch der Hersteller von MIDI-Dateien hat auf das Arrangement selbst Urheberrechte. Das unberechtigte Kopieren und Vertreiben solcher Dateien ist eine Straftat und wird verfolgt. Der Midifile Herstellerverband Deutschland betreibt ein Anti-Piraterie-Programm. Verdächtige CDs werden auf Online-Marktplätzen ersteigert und analysiert. Sind auf solchen CDs Dateien der Mitglieder enthalten, werden die Anbieter abgemahnt und auf Schadensersatz verklagt.
Bitte den Hinweis zu Rechtsthemen beachten! Kritik
Die Geschwindigkeit der MIDI-Schnittstelle ist technisch überholt, jedoch fällt dieser Nachteil nur in wenigen Fällen bei der Musikproduktion auf. Werden MIDI-Daten live eingespielt, reagiert das Gerät in Echtzeit mit der für die MIDI-Datenstrecke typischen Verzögerung. Dies gilt insbesondere bei der Verwendung externer Sounderzeuger. Bei der Verkettung mehrerer Hardware-Klangerzeuger über software-gepufferte MIDI-Thru-Verbindungen können weitere Verzögerungen entstehen. Diese Latenz kann durch ein MIDI-Interface mit mehreren parallelen Ausgängen reduziert werden.
Bei der Postproduktion von Musikstücken, die auf entweder eingespielten und später korrigierten Noten oder aber gleich mit der Hand gesetzten MIDI-Noten basieren, existiert das Problem nicht. Durch die Verwendung eines time codes wird sichergestellt, dass über alle MIDI-Strecken im Studio die Daten rechtzeitig in den angeschlossenen MIDI-Geräten vorliegen und abgespielt werden. Die gerätespezifische Verzögerung kann hierbei eingestellt werden. So ist sichergestellt, dass alle Töne eines komplexen Orchesterklanges in allen Klangerzeugern gleichzeitig erklingen. Damit stellt sich für einen Großteil der Anwender, der mit einer Basiskonfiguration wie Computer, Keyboard und Expander arbeitet, das Problem meist nicht.
Professionelle Musiker, welche in ihrem Spiel von den mathematisch exakten Zeitpunkten des Taktes abweichen (pushing/lay back), haben hier jedoch das Problem des MIDI-Jitters. Daher bevorzugen diese meist, nur eine Spur direkt einzuspielen und statt der MIDI-Noten das fertige Audio aufzuzeichnen.
Schwer wiegen die Einschränkungen musikalischer Art: MIDI wurde für die Steuerung von Synthesizern konzipiert, die allesamt in derselben temperierten Stimmung betrieben werden. Für nicht-temperierte Stimmungen oder andere Skalen als die in der Popmusik beinahe ausschließlich verwendeten zwölf Halbtöne pro Oktave (chromatische Stimmung) ist MIDI unpraktisch. Hier müssen die Notenwerte entweder per Controller im Sequenzer künstlich modifiziert oder in den Endgeräten uminterpretiert und dann eine „falsche“ Tonhöhe abgespielt werden. Viele hochwertige Keyboards verfügen über eine Stimmungseinstellung, die dieses bewerkstelligt. Auch einige Synthesizer können dieses inzwischen.
Ebenfalls problematisch ist die begrenzte Auflösung von MIDI-Controllern von „nur“ 128 Stufen, mit der die Feinheiten der Tonhöhe, der Lautstärke und des Anschlages nachgebildet werden sollen. Ein reales Instrument verfügt über keinerlei Abstufung in Tonhöhe oder Lautstärke. Auch Instrumente mit scheinbar festen Tonhöhen wie Flöten oder Klaviere besitzen eine gewisse Varianz in der Tonhöhe während des Spiels, die bei Blasinstrumenten vom Luftstrom und bei Saiteninstrumenten vom Anschlag und der Momentanlautstärke sowie allerlei Resonanzeffekten abhängt. Die während eines komplexen Tonverlaufes existierenden Schwankungen der Tonparameter Amplitude und Phase sind daher nur sehr grob von MIDI-Hard- und Software nachzubilden bzw. zu erzeugen. Bei anschlagsdynamischen Instrumenten macht sich dieses besonders bemerkbar (Bösendorfer 290SE). Auch Vibrato und Blue-Note-Technik kann kaum korrekt abgebildet werden.
Selbst bei der Steuerung von künstlichen Klangparametern bei Synthesizern, wie z.B. der Cutoff-Frequenz eines Filters, macht sich diese „Stufigkeit“ teilweise hörbar bemerkbar.
Weblinks
Commons: MIDI – Sammlung von Bildern, Videos und Audiodateien- MIDI Manufacturers Association
- Der Roland-Midi-Guide
- Deutschsprachige Seite zur MIDI Spezifikation
- USB-MIDI Spezifikation für Entwickler – engl.
- RTP-MIDI-Spezifikation – RFC 4695
- MIDI-Klaviatur, Frequenzen, Notennamen und Notennummern
- Musikproduktion mit Midifiles
Literatur
- Christian Braut: Das MIDI Buch. 1. Auflage. Sybex, Düsseldorf 1093, ISBN 3-8155-7023-9.
- Bernd Enders, Wolfgang Klemme: Das MIDI- und Sound-Buch zum Atari ST. 3. Auflage. Markt&Technik Verlag AG, Haar bei München 1988, ISBN 3-89090-528-5.
- Erol Ergün: Cubase SX/SL in der Praxis. Die neue Generation der MIDI/Audio-Musikproduktion. 3. Auflage. PPV Medien GmbH, Bergkirchen 2005, ISBN 978-3-9378-4122-9.
Quellen
Kategorien:- MIDI
- Notationsweise (Musik)
Wikimedia Foundation.