W i l l k o m m e n   b e i   [ www.mauspfeil.com ]
 
 



 

Wörterbuch der Bedeutung
<<Zurück
Bitte wählen Sie einen Buchstaben:
A, Ä | B | C | D | E | F | G | H | I | J | K | L | M | N | O, Ö | P | Q | R | S | T | U, Ü | V | W | X | Y | Z | 0-9

Suchen:

(Groß-/Kleinschreibung wird nicht unterschieden)

Google


Musical Instrument Digital Interface

*** Shopping-Tipp: Musical Instrument Digital Interface

{{Dieser Artikel|behandelt das Datenübertragungs-Protokoll MIDI. Für die französische Landschaft Midi siehe den Artikel Midi-Pyrénées.}} Bild:Midi_ports_and_cable.jpg thumb|250px|MIDI-Schnittstelle '''MIDI''' [{{IPA|ˈmɪdɪ}}] (Englische Sprache engl.: '''''m'''usical '''i'''nstrument '''d'''igital '''i'''nterface'' [{{IPA|ˈ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, Aufzeichnung und Wiedergabe von musikalischen Steuerinformationen zwischen Musikinstrument Instrumenten oder mit einem Personal-Computer PC. Das MIDI-Protokoll wird von vielen Soundkarten in modernen Rechnern unterstützt.

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, Vereinigte Staaten USA, vorgestellt. Überwacht wird der Standard von der IMA (International MIDI Association).

Funktionsweise
Bild:NoteNamesFrequenciesAndMidiNumbers.svg thumb|right|Notennamen und MIDI-Notennummern Das MIDI-Protokoll stellt keine Klang Klänge dar, sondern besteht aus Befehlen zur Ansteuerung von Instrumenten oder einer Soundkarte. Dazu werden Befehle übermittelt, wie beispielsweise „Note-on“ („Schalte Ton an“) und „Velocity“ („Anschlagsstärke“) und „Note-off“ („Schalte Ton aus“). Diese Anweisungen werden meist an einen Klangerzeuger (z. B. Synthesizer oder Soundkarte) geschickt, wodurch dann die entsprechenden Klänge erzeugt werden. Auch kann man auf einer Tastatur, die MIDI-Befehle sendet, spielen und die Tastaturbewegungen als MIDI-Befehle aufzeichnen. Neben diesen elementaren Befehlen stellt MIDI weitere, teilweise sehr spezielle Befehle zur Verfügung, die beispielsweise dazu verwendet werden, andere Klänge zu laden oder geladene Klänge mittels Steuerdaten, wie sie von Schaltern, Knöpfen oder Drehreglern erzeugt werden können, zu beeinflussen. Ferner können Geräte über die Leitung sogenannte MIDI (Systemexklusive Meldung) systemexklusive Meldungen, kurz SysEx, empfangen und übertragen, die es z. B. gestatten können, ein Datensicherung Backup des Speicherinhaltes eines Gerätes anzufertigen oder in ein Gerät ein neues Betriebssystem zu laden. Die meisten modernen Klangerzeuger (Synthesizer, Expander u. a.) haben einen internen SysEx-Befehlssatz, mit dem man alle internen Klangerzeugungs-Mechanismen bis ins kleinste Detail steuern oder beeinflussen kann. Sehr viele moderne Synthesizer haben bereits eine ganze Reihe von digitalen Effekten integriert, die man sonst mit separaten externen Effekt-Geräten erzeugen müsste. So können z. B. in der Hall-Effekt Sektion Klangräume über SysEx-Befehle sehr genau konstruiert werden, und präzise festgelegt werden, wo genau in dem Raum ein Instrument platziert ist.

Unterschiede zwischen MIDI- und Audioaufzeichnung
MIDI-Signale sind Steuerdaten. Audiosignale dagegen geben den direkten Verlauf des Schalldrucks (und damit des Klanges) wieder. Mit MIDI-Signalen können künstliche Klangerzeuger angespielt werden, die ihrerseits erst den Klang formen. Nimmt man ein Musikstück als MIDI-Signale auf, erhält man Dateien, die verglichen mit der klassischen digitalen Aufzeichnung von Musik sehr klein sind. Bei der klassischen Musikaufzeichnung wird das Audiomaterial kontinuierlich in Binärdaten zerlegt und gespeichert. Dadurch entstehen enorme Datenmengen. MIDI hingegen speichert die Daten nicht kontinuierlich, sondern nur die zur Erzeugung des Klanges nötigen Steuerdaten. Allerdings kann MIDI prinzipbedingt keine originalgetreue Wiedergabe des aufgenommenen Stückes gewährleisten, denn das klangliche Resultat wird durch das verwendete Klangmodul maßgeblich bestimmt. So ist es beispielsweise möglich, eine MIDI-Klavieraufnahme später mit einem Orgelklang abzuspielen. Insofern ist eine MIDI-Aufzeichnung am ehesten mit einem digitalen Notenblatt vergleichbar, das dem Instrumentalisten (in diesem Vergleich dem elektronischen Klangmodul) Informationen über die abzuspielenden Töne vermittelt, aber dem Klangmodul die Freiheit lässt, einen beliebigen Klang für die Wiedergabe zu verwenden. Für die Übertragung an oder von nicht digitalen Instrumenten (analoge Synthesizer, E-Gitarren) gibt es Konverter. MIDI-Dateien tragen typischerweise die Endung .mid im Dateinamen. 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 für die gegenseitige Steuerung von Synthesizern entwickelt, dann aber schnell für Samplern, Drumcomputern, Sound- und Audiokarten, Effektgeräten (Hall, Echo, Equalizer usw.), sog. Controllern (wie Masterkeyboards, Drum-Pads, Fader-Boxen usw.) und Computer adaptiert. Hardware-Sequenzer (Musik) Sequenzer und Computer mit Sequenzerprogrammen (mittlerweile Digital Audio Workstations) erlauben das Einspielen, Aufzeichnen, Bearbeiten und Ausgeben von MIDI-Daten. Als der Speicher in Mobiltelefonen noch sehr knapp war, benutzte man das MIDI-Format für Klingelton Klingeltöne.

Rechnersysteme
Eine Pionierrolle auf diesem Gebiet spielte der Commodore C64, auf dem insbesondere die deutschen Softwareautoren Dr. Gerhard Lengeling und Karl Steinberg ihre ersten Sequenzer (Musik) 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. Heutzutage sind auch andere Rechnerplattformen (oft die „Nicht-Windows-Systeme“) für die Musiker, die mit MIDI arbeiten, eine gute Wahl. In erster Linie der Apple Macintosh, aber auch der Commodore Amiga, Pegasos mit dem MorphOS (als eines der jüngsten Mitglieder der Computerplattformen) und Standard-PCs mit alternativen Betriebssystemen (wie beispielsweise Linux) finden hierbei Verwendung. Die heute meist verwendeten Sequenzerprogramme sind das bereits erwähnte Cubase von Steinberg, das – obwohl plattformübergreifend – mittlerweile vor allem auf 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 (Unternehmen) Cakewalk Sonar (Software) Sonar, Ableton Live oder auch Reason.

Dateiformate
MIDI-Dateien gibt es in den Formaten SMF 0, SMF 1 und SMF 2. Beim Format 0 sind alle MIDI-Kanäle in einer Spur zusammengefaßt, auch als Mixdown bezeichnet. Dieses Format wird heutzutage noch von Klingeltönen für Handys genutzt und kann mit gängigen Sequenzer (Musik) Sequenzerprogrammen in das Format 1 konvertiert werden. Beim Format 1 hat jeder Kanal seine eigene Spur und einen eigenen Namen. Verschiedenen Stimmen und Instrumente können so besser identifiziert werden. Ältere MIDI-Geräte können dieses Format öfter nicht verarbeiten. Das Format 2, das eher selten anzutreffen ist, geht noch einen Schritt weiter. Hier werden einzelne Pattern (Teile einer Spur) auf separaten Spuren gespeichert.

MIDI-Anschlüsse
Es existieren drei verschiedene MIDI-Anschlüsse, ''MIDI-In'', ''MIDI-Out'' und ''MIDI-Thru''. Diese Dreierkombination heißt ''Midi-Trio''. ''MIDI-In'' wird von einem Gerät zum Empfang verwendet. ''MIDI-Out'' wird zum Senden verwendet. ''MIDI-Thru'' schickt auf MIDI-In empfangene Signale weiter. Physikalisch sind die Anschlüsse als fünfpolige DIN-Stecker DIN-Buchsen realisiert. In seltenen Ausnahmen (z. B. bei der MIDI-Interface-Karte „Roland MPU-401 AT“ als ISA-Karte) verbauen die Hersteller aus Platzgründen auch 6-polige Mini-DIN-Buchsen. 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 Synthesizer (Slave A und B) angesteuert werden, verbindet man MIDI-Out des Keyboards mit MIDI-In des Synthesizers (Slave A) sowie die MIDI-Thru-Buchse des Synthesizers (Slave A) mit MIDI-In des Synthesizers (Slave B). Ein häufig anzutreffendes Szenario ist der Einsatz eines Computers mit entsprechender Software als Sequenzer sowie der Anschluss eines Keyboards oder elektronischen Pianos zum Einspielen der Noten und mehreren Synthesizern zur Klangerzeugung. Dabei wird üblicherweise MIDI-Out des Keyboards mit MIDI-In des Computers verbunden, MIDI-Out des Computers mit den MIDI-In der Synthesizer, ggf. verkettet über MIDI-Thru. Am PC kann man ein MIDI-Interface auch mithilfe des Gameports realisieren. Dazu wird auf diesen Port ein Adapterkabel gesteckt, das mit den beiden MIDI-Buchsen (In, Out) versehen ist. Der Gameport findet allerdings im professionellen Produktionsumfeld üblicherweise keine Verwendung, da die Treiber im Allgemeinen nicht timingfest sind.

Technik
Bild:StandardMIDIInterface.gif thumb|Standard MIDI-Interface Im Prinzip ist MIDI eine mit RS-232 vergleichbare Schnittstelle zur seriellen Datenübertragung. Die Übertragungsgeschwindigkeit beträgt 31250 Bits pro Sekunde. Im Unterschied zu Computer-Schnittstellen wird bei MIDI die Logik über Strom und nicht über Spannung gesteuert. Wie schon erläutert, werden bei der MIDI-Steckverbindung (5-polig DIN – früher Diodenbuchse/-stecker) die Pins 4 und 5 als Datenleitung benutzt. Dabei liegt Pin 4 über einen 220 Ohm Widerstand an +5V, und Pin 5 ist der geschaltete Pin. Wird Pin 5 auf Masse geschaltet (0V) fließt der Strom über die Leitung = 1. Wird Pin 5 nicht geschaltet (+5V) fließt kein Strom über die Leitung = 0. In normaler TTL-Logik ist Masse = 0 und +5V = 1. Daraus ergibt sich, dass MIDI eine gegenüber der TTL-Logik negative Logik hat. Um mit einem Computer, der der TTL-Logik folgt, ü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 am Gameport entsprechender Soundkarten verfügbar waren, über einen Adapter (siehe Bild) auf die Standard-MIDI-Schnittstelle umzusetzen. Softwareseitig war die Hardware meist 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. Das jeweilige MIDI-Interface passt das Signal auch den Spannungsverhältnissen für den jeweiligen Port an; z. B. arbeitet der COM-Port mit −12 V als 0 und +12 V als 1. Jeder normierte MIDI-Befehl (mit Ausnahme systemexklusiver Daten, kurz SysEx genannt) trägt neben seiner Befehlskennung und den Befehlsdaten auch eine Kanalnummer. Die Kanalnummer ist 4 Bits groß, es lassen sich dadurch 24, also 16 Kanäle ansteuern. Je nach Software sind die Kanäle 0–15 oder 1–16 durchnummeriert, wobei die Nummerierung von 1–16 üblicher ist. Jeder Kanal steuert einen speziellen Klang (Instrument), in der MIDI-Sprache „Programm“ genannt. Da MIDI ein serielles Protokoll und die Datenrate der MIDI-Schnittstellen für heutige Verhältnisse recht gering ist, ergeben sich beim Abspielen vieler Noten häufig Timingprobleme, vor allem beim Einsatz von Sequenzerprogrammen. 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 der Standard weit verbreitet, gut standardisiert und sehr zuverlässig ist. Eine Fortentwicklung wäre aus Anwendersicht jedoch durchaus wünschenswert. Von Yamaha Corporation Yamaha gibt es mit XG-MIDI eine Erweiterung, die genau wie Roland (Musik) 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
Ein Gerät mit MIDI-Schnittstelle nennt man MIDI-Gerät. Dabei existieren verschiedenartige Geräte, die meist mit einer MIDI-Schnittstelle ausgestattet sind: *Expander: Ein Expander ist ein externer Klangerzeuger, meist ein Synthesizer, ohne eigene Tastatur. *Synthesizer bzw. Keyboard: Die meisten Synthesizer verfügen über eine MIDI-Schnittstelle, um Tasten- und Reglerbewegungen zu Aufzeichnungszwecken übertragen zu können. *Masterkeyboard: Ein Masterkeyboard enthält meist keine eigene Klangerzeugung sondern dient ausschließlich der Steuerung von Expandern, Softwaresynthesizern oder zur Aufzeichnung der Tastenbewegung. *Music Workstation Workstation: Eine Kombination aus Synthesizer, Masterkeyboard und Sequenzer wird als Workstation bezeichnet. *Sequenzer (Musik) 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). Softwaresequenzer mit MIDI-Unterstützung haben sich auf dem Markt durchgesetzt, da sie über die Standardfunktionen (Programmieren, Aufzeichnen, Abspielen) hinaus auch weitere Bearbeitungsmöglichkeiten in grafischer Form bieten (nachträgliches Editieren, Quantisierung usw.), wobei sie heutzutage nicht nur MIDI-, sondern auch Audiomaterial verarbeiten können. Diese Kombination aus Audio- und MIDI-Bearbeitung nennt man DAW (Digital Audio Workstation). Für den Live-Einsatz erfreuen sich auch die in Keyboards oder Groove-Boxes integrierten Sequenzer großer Beliebtheit. *MIDI-Interface für Personal Computer 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-1 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 Personal Computer PC (Gameport): Der Gameport-MIDI-Adapter erweitert den Gameport einer Soundkarte um ein MIDI-Interface mit meist 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. *MIDI-Interface für Universal Serial Bus 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 4 bis 8 einzeln adressierbaren Out-Ports verwendet, die so dass 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 meist 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. *Musikinstrumente: Für viele Musikinstrumente existieren Abnehmer zur Erzeugung von MIDI-Signalen (z. B. Guitar-to-MIDI-Converter) ''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 es, dass sich das USB-MIDI-Protokoll vom herkömmlichen MIDI-Protokoll unterscheidet. Nachzulesen in der „[http://www.usb.org/developers/devclass_docs/midi10.pdf 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.

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 Request for Comments RFC für eine genormte Übertragung von MIDI-Daten über Netzwerke auf Basis des Real-Time Transport Protocol RTP-Protokolls: RFC 4695. Es gibt mehrere Open-Source-Implementierungen dieses Standards und auch das Apple-Netzwerk-MIDI der OS-X Betriebssystemversion „Tiger“ basiert auf dieser Spezifikation.

Funktionsweise des MIDI-Protokolls
MIDI verwendet kurze Bytefolgen, um Signale auszutauschen. Im Allgemeinen wird davon ausgegangen, dass das Signal von einem Signalgeber wie einem Keyboard an einen Klangerzeuger wie einen Synthesizer geschickt wird. Das Signal lässt sich aber auch mit einem Sequenzer als Musikstück aufzeichnen, bearbeiten und wiedergeben.

Die übertragenen Bytes
Die folgenden Tabellen erfordern ein 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. Einige Geräte halten sich nicht immer an diese Konvention. Für Datenbytes gilt meist, dass die Bytes 0x00–0x7F als Wertebereich von 0 bis 127 interpretiert werden. 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). {| class="prettytable" |+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 angegeben, die der Druckstärke auf die Taste in 128 Schritten von 0 (praktisch gar nicht) bis 127 (sehr stark) entspricht. |- |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. |- |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 Aftertouch |Beschreibt das Ändern des Tastendrucks während die Tasten bereits gedrückt sind, für alle Tasten gemeinsam. |- |0xEn vv [vv] |Wert1, Wert2 (optional) |Pitch Bending |Einstellung des Pitchbend-Rades, je nach Gerät mit 7, 8 oder 14 Bit (128, 256 oder 16536 verschiedene mögliche Werte). |- |0xFn xx... |Geräteabhängig |System Message |Steuermeldungen, häufig gerätespezifisch, Länge ebenfalls gerätespezifisch (xx = Datenbytes) |}

Controller
Für jemanden, der MIDI einsetzen möchte, sind die meisten MIDI-Nachrichten und ihr Aufbau von vergleichsweise geringem Interesse. Große Bedeutung haben jedoch die Controller, da sich mit ihnen auf einfache Art und Weise gerätespezifische Klangparameter des aktuellen Instruments steuern lassen. Die Controller senden auf einem bestimmten Kanal mit einer bestimmten Controllernummer einen bestimmten Wert. Einfache Controller können Werte von 1 bis 128 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 Bitwertigkeit 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 1–128 senden, da ein Schalter allerdings nur zwei Werte annehmen kann, werden üblicherweise Werte von 1 bis 64 als »Aus« und Werte von 65 bis 128 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. {| class="prettytable" |+ 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 04 vv |4 |Foot Controller MSB |Stellung des Fuß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 0A vv |10 |Panorama |Stereopositionierung im Raum (links … mittig … rechts) |- |0xBn 0B vv |11 |Expression |Ausdrucksstärke des Klangs |- | |12 |Effect Control 1 |Effekt 1 steuern |- | |13 |Effect Control 2 |Effekt 2 steuern |- | |14–15 |Undefined |Undefiniert bzw. frei verwendbar |- | |16–19 |General Purpose Controllers 1–4 |Frei belegbare Controller |- | |20–31 |Undefined |Undefiniert bzw. frei verwendbar |- | |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 |- | |63 |LSB for Controllers 0–31 (rarely implemented) |Dienen eigentlich dazu, die Controller 0–31 feiner auflösen zu können, wird aber kaum verwendet |- | |64 |Hold 1 |Haltepedal |- | |65 |Portamento |Portamento ein- und ausschalten |- | |66 |Sostenuto |Während des Drückens des Pedals bereits gespielte Noten werden gehalten, neu hinzukommende nicht |- | |67 |Soft Pedal | |- | |68 |Legato Footswitch | |- | |69 |Hold 2 |2. Haltepedal |- | |70 |Sound Controller 1 (Sound Variation) |Klangsteuerung 1, meist Klangvariation |- | |71 |Sound Controller 2 (Harmonic Content) |Klangsteuerung 2, meist Teiltonhaltigkeit |- | |72 |Sound Controller 3 (Release Time) |Klangsteuerung 3, meist Ausschwingzeit |- | |73 |Sound Controller 4 (Attack Time) |Klangsteuerung 4, meist Einschwingzeit |- | |74 |Sound Controller 5 (Brightness) |Klangsteuerung 5, meist Helligkeit |- | |75–79 |Sound Controller 6–10 |Klangsteuerung 6–10, keine Vorschlagswerte |- | |80–83 |General Purpose 5–8 |Frei verfügbare Controller 5–8 |- | |84 |Portamento Control |Kontrolle des Portamento |- | |85–90 |Undefined |Undefiniert bzw. frei verwendbar |- | |91 |Effects 1 Depth |Effekttiefe 1, früher Intensität eines externen Effektes |- | |92 |Effects 2 Depth |Effekttiefe 2, früher Tremolointensität |- | |93 |Effects 3 Depth |Effekttiefe 3, früher Chorusintensität |- | |94 |Effects 4 Depth |Effekttiefe 4, früher Detuneinstensität |- | |95 |Effects 5 Depth |Effekttiefe 5, früher Phaserintensität |- | |96 |Data Increment |Wert erhöhen |- | |97 |Data Decrement |Wert 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–120 |Undefined |Undefiniert bzw. frei verwendbar |- |0xBn 78 vv | |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 1-stimmig) |- |0xBn 7F vv |127 |poly on / mono off |Das Gerät soll mit maximaler Anzahl an Stimmen spielen |} '''MSB''' engl. : Most Significant Byte = höchtstwertiges/höherwertiges Byte '''LSB''' engl. : Least Significant Byte = niederwertigstes/niederwertiges Byte {{lückenhaft| *Tabelle sollte vollständiger sein *Funktionsweise der RPN/NRPN-Controller erläutern *Tabellen mit den wichtigsten RPN- und NRPN-Controllern *es fehlt eine Kritik an MIDI, das längst technisch überholt ist und sich nicht weiterentwickelt }}

Kritik
Die Geschwindigkeit der original MIDI-Schnittstelle mag technisch überholt sein, die Integration von MIDI in USB und damit die Steuerung von virtuellen Synthesizern über ein USB <-> MIDI Keyboard erfreut sich jedoch steigender Beliebtheit.

Weblinks
*Scott Joplin, media:Ragdance.mid Ragtime Dance Beispiel-Song im MIDI-Format

Informationen zum Thema MIDI

- MIDI Manufacturers Association
- MIDI Guide - deutschsprachiger Wegweiser über MIDI
- Deutschsprachige Seite zur MIDI Spezifikation
- USB-MIDI Spezifikation für Entwickler - engl.
- RTP-MIDI-Spezifikation - RFC 4695

MIDI-Sequenzer

- Ableton Live
- Apple Logic Homepage
- Cakewalk Homepage (Sonar)
- Steinberg Homepage (Cubase/Nuendo)
- GNMIDI Homepage (MIDI Werkzeuge)
- Rosegarden (Open Source Sequencer-Software für Linux)
- MusE (MIDI/Audio Sequencer für Linux)
- Bars&Pipes Sequencer (Freeware für Amiga)
- Quartz Audio Master (Freeware)
- Propellerheads Reason

Sonstige

- Midifile Herstellerverband Deutschland e. V.
- Midi oder Virtuose? - Ein Quiz
- Wie gut MIDIs heutzutage klingen können MP3 Dateien zum reinhören Kategorie:Schnittstelle (Hardware) Kategorie:Synthesizer-Sequenzer bs:MIDI cs:Musical Instrument Digital Interface el:MIDI en:Musical Instrument Digital Interface es:MIDI fa:رابط دیجیتالی سازهای موسیقی fi:MIDI fr:Musical Instrument Digital Interface gl:Musical Instrument Digital Interface he:MIDI hu:MIDI id:MIDI it:Musical Instrument Digital Interface ja:MIDI ko:MIDI lv:MIDI nl:MIDI no:MIDI pl:MIDI pt:MIDI ru:MIDI sl:MIDI sv:MIDI tr:MIDI uk:MIDI vi:MIDI zh:MIDI

*** Shopping-Tipp: Musical Instrument Digital Interface




[Der Artikel zu Musical Instrument Digital Interface stammt aus dem Nachschlagewerk Wikipedia, der freien Enzyklopädie. Dort findet sich neben einer Übersicht der Autoren die Möglichkeit, den Original-Text des Artikels Musical Instrument Digital Interface zu editieren.
Die Texte von Wikipedia und dieser Seite stehen unter der GNU Free Documentation License.]

<<Zurück | Zur Startseite | Impressum | Zum Beginn dieser Seite