Deutsch
MIDI-Nachrichten Spickzettel: jeder Typ, jedes Statusbyte, jeder Bereich
Diese App ist komplett kostenlos. Du musst kein Konto anlegen. Es gibt keine Abos, keine umständlichen Downloads, und nichts ist gesperrt. Optimiert für Apple Silicon.
Eine MIDI-1.0-Nachricht besteht aus einem Statusbyte, das sagt, was für eine Nachricht es ist, gefolgt von null, einem oder zwei Datenbytes. Es gibt sieben Kanalnachrichten, von Note Off bei 80 hex bis Pitch Bend bei E0, jede mit ihrem Kanal in der letzten Ziffer, und eine Reihe von Systemnachrichten von F0 bis FF, die gar keinen Kanal haben. Die Tabellen unten decken jede davon ab, mit den Bereichen, die jedes Datenbyte annimmt, und jede Zeile verlinkt die Seite hier, die diese Nachricht ausführlich erklärt.
Die Werte stammen aus der Übersicht der MIDI-1.0-Nachrichten und der Control-Change-Liste der MIDI Association, die ich am 27. Oktober 2026 gelesen habe. Ich entwickle InputConfig, eine kostenlose Mac-App, die MIDI liest und sendet, deshalb sagt eine Tabelle, welche dieser Nachrichten sie verarbeitet.
Schritte
- Lies das erste Byte der Nachricht in hex.
- Liegt es zwischen 80 und EF, nennt die erste Ziffer die Nachricht und die zweite Ziffer den Kanal, 0 für Kanal 1 bis F für Kanal 16.
- Liegt es zwischen F0 und FF, ist es eine Systemnachricht ohne Kanal, schlage sie also in der Systemtabelle nach.
- Lies die folgenden Datenbytes, jedes von 0 bis 127, mit der Kanaltabelle.
- Schlage bei einem Control Change die Controller-Nummer in der CC-Tabelle nach.
Ein Statusbyte von einem Datenbyte unterscheiden
Jedes Byte in MIDI 1.0 ist entweder ein Statusbyte oder ein Datenbyte, und das oberste Bit entscheidet, welches. In der Tabelle der MIDI Association beginnt jedes Statusbyte binär mit einer 1 und jedes Datenbyte mit einer 0.
- Statusbytes. 80 bis FF hex, 128 bis 255. Sie beginnen eine Nachricht.
- Datenbytes. 00 bis 7F hex, 0 bis 127. Deshalb hört fast jeder Wert in MIDI bei 127 auf.
- Der Kanal. Bei einer Kanalnachricht ist die zweite hex-Ziffer der Kanal, 0 bis F, den Apps als Kanal 1 bis 16 zeigen. Also ist 90 Note On auf Kanal 1 und 9F Note On auf Kanal 16.
- 14-Bit-Werte. Reichen 128 Stufen nicht, verbinden sich zwei Datenbytes: die feine Hälfte, das LSB, und die grobe Hälfte, das MSB. Zusammen laufen sie von 0 bis 16383, und Pitch Bend legt seine Mitte auf 8192, 2000 hex.
Ein Byte ab 128 beginnt eine Nachricht, und ein Byte unter 128 trägt einen Wert. MIDI-Kanäle und MSB und LSB gehen bei beidem weiter.
Die Kanalnachrichten lesen
Diese sieben tragen die Musik: Noten, Druck, Regler, Klangwechsel und das Pitch-Rad. Die Spalte Status ist hex, wobei die niedrige Ziffer vom Kanal bestimmt wird.
| Nachricht | Status (hex) | Datenbyte 1 | Datenbyte 2 | Mehr |
|---|---|---|---|---|
| Note Off | 80 bis 8F | Notennummer, 0 bis 127 | Release-Velocity, 0 bis 127 | Notennummern |
| Note On | 90 bis 9F | Notennummer, 0 bis 127 | Velocity, 0 bis 127 (0 wirkt wie Note Off) | Velocity |
| Polyphoner Tastendruck | A0 bis AF | Notennummer, 0 bis 127 | Druck, 0 bis 127 | Aftertouch |
| Control Change | B0 bis BF | Controller, 0 bis 119 | Wert, 0 bis 127 | CC-Liste |
| Program Change | C0 bis CF | Programm, 0 bis 127 | Keins | Programmwechsel |
| Kanaldruck | D0 bis DF | Druck, 0 bis 127 | Keins | Aftertouch |
| Pitch Bend | E0 bis EF | Feine Hälfte (LSB), 0 bis 127 | Grobe Hälfte (MSB), 0 bis 127 | Pitch Bend |
Ein Note On mit Velocity 0 zählt als Note Off, was auch die Arduino-Anleitung der MIDI Association nutzt, um eine Note zu beenden. Die Controller-Nummer bei Control Change hört bei 119 auf, weil 120 bis 127 von den Kanalmodus-Nachrichten unten belegt sind. Der Bereich von Pitch Bend in Halbtönen steht gar nicht in der Nachricht: Das legt der Empfänger fest, und die MIDI-Tabelle merkt an, dass er mit RPN 0 eingestellt werden kann. Program Change und Kanaldruck tragen ein Datenbyte, die anderen fünf tragen zwei.
Die Kanalmodus-Nachrichten kennen
Kanalmodus-Nachrichten nutzen das Statusbyte von Control Change, B0 bis BF, mit den Controller-Nummern 120 bis 127. Sie ändern, wie sich der Kanal verhält, nicht wie er klingt.
| Controller | Name | Was es tut |
|---|---|---|
| 120 | All Sound Off | Schaltet jede Stimme auf einmal stumm |
| 121 | Reset All Controllers | Setzt Controller auf ihren Standardzustand zurück |
| 122 | Local Control | 0 ist aus, 127 ist an: ob die Tasten den eigenen Klang des Synthesizers spielen |
| 123 | All Notes Off | Löst jede gehaltene Note |
| 124 und 125 | Omni Mode Off und On | Ob das Gerät auf einem Kanal oder auf allen lauscht |
| 126 und 127 | Mono Mode On und Poly Mode On | Eine Note pro Kanal oder Akkorde |
Die Liste der MIDI Association merkt an, dass 124 bis 127 auch alle Noten ausschalten. Ein Panic-Knopf ist meist CC 123 und CC 120, gesendet auf allen 16 Kanälen. MIDI-Panic listet die genauen Bytes auf.
Die Systemnachrichten lesen
Systemnachrichten beginnen mit F und tragen keinen Kanal, jedes Gerät am Kabel darf sie also lesen. F0 bis F7 sind allgemeine Systemnachrichten und F8 bis FF sind Echtzeitnachrichten, die einzigen, die mitten in einer SysEx-Nachricht erlaubt sind.
| Status (hex) | Nachricht | Daten | Mehr |
|---|---|---|---|
| F0 | System Exclusive | Hersteller-ID, dann beliebig viele Datenbytes, bis F7 | SysEx |
| F1 | MIDI Time Code Quarter Frame | Ein Byte: ein Stück des Timecodes | |
| F2 | Song Position Pointer | Zwei Bytes: eine 14-Bit-Zählung von Schlägen ab dem Anfang, wobei ein Schlag 6 Clocks sind | |
| F3 | Song Select | Ein Byte: welcher Song oder welche Sequenz | |
| F6 | Tune Request | Keine. Bittet analoge Synthesizer, ihre Oszillatoren zu stimmen | |
| F7 | End of Exclusive | Keine. Beendet eine SysEx-Nachricht | |
| F8 | Timing Clock | Keine. Wird 24 Mal pro Viertelnote gesendet | MIDI-Clock |
| FA, FB, FC | Start, Continue, Stop | Keine | MIDI-Clock |
| FE | Active Sensing | Keine. Optional, mindestens alle 300 ms, sobald ein Gerät damit beginnt | |
| FF | Reset | Keine. Setzt Empfänger auf ihren Zustand beim Einschalten zurück |
F4, F5, F9 und FD sind nicht definiert. Clock, Start und Stop sind Systemnachrichten, sie tragen also nie einen Kanal. Zu SysEx-Dumps und den Apps, die sie senden, siehe die Seite SysEx-Librarian für den Mac.
Die wichtigen CC-Nummern nachschlagen
Viele der 120 Control-Change-Nummern sind undefiniert, aber einige haben im MIDI-Standard Namen, denen Synthesizer und Apps folgen. Diese stammen aus der Control-Change-Liste der MIDI Association.
| CC | Name | Mehr |
|---|---|---|
| 0 und 32 | Bank Select, MSB und LSB | MSB und LSB |
| 1 | Modulationsrad | CC-Liste |
| 2 | Breath Controller | |
| 4 | Foot Controller | |
| 6 und 38 | Data Entry, MSB und LSB | NRPN und RPN |
| 7 | Channel Volume | |
| 10 | Pan | |
| 11 | Expression | |
| 64 | Sustain-Pedal (Dämpferpedal): 0 bis 63 aus, 64 bis 127 an | Sustain-Pedal |
| 65, 66, 67 | Portamento, Sostenuto und Soft Pedal, an oder aus | |
| 98 und 99 | NRPN-Nummer, LSB und MSB | NRPN und RPN |
| 100 und 101 | RPN-Nummer, LSB und MSB | NRPN und RPN |
Die Controller 32 bis 63 sind die feinen Hälften, die LSBs, der Controller 0 bis 31, und so wird aus Bank Select CC 0 plus CC 32. CC 64 ist ein Schalter, jeder Wert ab 64 heißt also, dass das Pedal unten ist. Die MIDI-CC-Liste führt jede Nummer auf.
Sehen, was InputConfig liest und sendet
InputConfig macht aus MIDI von einer Tastatur, einem Pad-Controller oder einer DAW Tasten, Klicks, die Lautstärke des Macs und mehr, und es sendet MIDI von einem Game-Controller oder einer Tastatur über einen virtuellen Port namens InputConfig. Hier ist die ehrliche Liste, Nachricht für Nachricht.
| Nachricht | Als Eingabe belegen | Als Ausgabe senden |
|---|---|---|
| Note On und Off | Ja, als gehaltene Taste | Ja, mit der in der Zeile eingestellten Velocity |
| Control Change | Ja, als Schalter, Regler oder Drehung | Ja, ein fester Wert oder die Position eines Sticks oder Triggers |
| Pitch Bend | Ja, Plus und Minus wie ein Stick | Ja, von einer Stick-Achse oder einer Taste |
| Aftertouch | Ja | Nein |
| Program Change | Ja, und er kann ein Preset aktivieren | Ja |
| Start, Continue, Stop | Ja | Ja |
| Timing Clock | Nein | Nein |
| System Exclusive | Nein | Nein |
| NRPN und RPN | Nein | Nein, es sendet einzelne Nachrichten |
Zwei Einzelheiten bringen Leute ins Stolpern. Tasten sind nicht anschlagdynamisch, also spielt jede MIDI-Note-Ausgabe mit der in ihrer Zeile eingestellten Velocity, von 1 bis 127, und ein Trigger auf CC 11 ist der Weg zu Dynamik. Und ein Regler im Modus Switch löst aus, sobald der Wert die Hälfte überschreitet, wodurch ein Sustain-Pedal zu einem Ein-Aus-Schalter wird.


Sendet ein Bedienelement eine Note, einen CC, Pitch Bend oder einen Program Change, kann InputConfig es belegen. MIDI zu Tastendruck und MIDI-Ausgabe behandeln die Einrichtung.
Wenn eine Nachricht nicht ist, was du erwartet hast
Die meisten Überraschungen kommen von der Zählweise, nicht von defekter Hardware. Steige diese Leiter hoch, mit dem kleinsten Schritt zuerst:
- Prüfe die Kanalzählung. Das Byte sagt 0 bis 15 und die App sagt 1 bis 16. Ein Gerät auf Kanal 10 sendet 99 für ein Note On.
- Prüfe die Programmzählung. Die Nachricht trägt 0 bis 127, und viele Klanglisten zeigen 1 bis 128, also wird Klang 1 als 0 gesendet.
- Prüfe auf ein verstecktes Note Off. Ein Note On mit Velocity 0 beendet die Note, ein Log voller Note Ons kann also trotzdem Tasten loslassen.
- Dekodiere die rohen Bytes. Füge sie in den MIDI-Nachrichten-Decoder ein oder sieh ihnen im MIDI-Tester beim Ankommen zu.
Ein Versatz um eins ist der häufigste MIDI-Fehler überhaupt.
Bei einer Nachricht tiefer einsteigen
- Noten. Velocity, Notennummern und die General-MIDI-Schlagzeugbelegung.
- Druck. Kanal- und polyphoner Aftertouch.
- Controller. Das Sustain-Pedal, MSB und LSB, NRPN und RPN und MIDI Learn.
- Klänge. Program Change.
- Tonhöhe. Pitch Bend.
- Timing und Sicherheit. MIDI-Clock, MIDI-Panic und MIDI Thru.
- Daten. SysEx.
Jede Seite hier nimmt eine Zeile der Tabellen und erklärt sie mit Beispielen. Bist du ganz neu dabei, beginne mit Was ist MIDI.
Die Kurzfassung
- Erst der Status. Ein Byte ab 80 hex beginnt eine Nachricht, und die Bytes danach sind Werte von 0 bis 127.
- Kanalnachrichten. 80 bis EF, mit dem Kanal in der letzten Ziffer.
- Systemnachrichten. F0 bis FF, ohne Kanal: SysEx, Clock, Start, Stop und der Rest.
- Große Zahlen. Zwei Datenbytes ergeben 0 bis 16383, wie bei Pitch Bend.
Lies die erste Ziffer des Statusbytes, und du weißt, was für eine Nachricht es ist.
Fragen
Wie viele MIDI-Nachrichtentypen gibt es?
MIDI 1.0 hat sieben Kanalnachrichten (Note Off, Note On, polyphoner Druck, Control Change, Program Change, Kanaldruck und Pitch Bend), die Kanalmodus-Nachrichten auf CC 120 bis 127 und die Systemnachrichten von F0 bis FF.
Was ist ein MIDI-Statusbyte?
Das erste Byte einer Nachricht, von 80 bis FF hex. Es sagt, was für eine Nachricht es ist, und bei Kanalnachrichten, auf welchem der 16 Kanäle sie liegt.
Was ist der Unterschied zwischen CC und NRPN?
Ein CC ist eine einzelne Nachricht mit einer Controller-Nummer und einem Wert von 0 bis 127. Ein NRPN wählt mit CC 99 und 98 einen Parameter und setzt ihn mit Data Entry auf CC 6 und 38, eine Änderung braucht also drei oder vier Nachrichten.
Welche MIDI-Nachrichten unterstützt InputConfig?
Es belegt Noten, Control Change, Pitch Bend, Aftertouch, Program Change sowie Start, Continue und Stop und sendet Noten, Control Change, Pitch Bend, Program Change und den Transport. Clock, SysEx und NRPN verarbeitet es nicht.
Ist die MIDI-Clock eine Kanalnachricht?
Nein. Timing Clock, F8, ist eine Systemnachricht in Echtzeit ohne Kanal, die 24 Mal pro Viertelnote gesendet wird.
Mehr auf Deutsch
Ausführliche Anleitungen, auf Englisch
Wer hier schreibt. Ryleigh Newman entwickelt InputConfig und steuert den eigenen Mac jeden Tag mit einem Controller, weil die Hände nicht gut mitmachen. Diese Seite ist aus dem Englischen übersetzt. Die wichtigsten Tasten und Menüs der App erscheinen auf Deutsch, wenn der Mac auf Deutsch eingestellt ist; diese Seite nennt sie so, mit dem englischen Namen in Klammern. Der Rest der App und der Website ist auf Englisch.
Diese Seite in anderen Sprachen: English, Español, Français, Italiano, 日本語, 한국어, Polski, Português, Русский, ไทย, 繁體中文, 简体中文
Kostenlos. macOS 14 oder neuer. Kein Konto, nichts verlässt deinen Mac. Open Source auf GitHub.