MIDI-Signale wurden ursprünglich als ein Mittel der Kommunikation zwischen zwei elektronischen Instrumenten wie Keyboards und Synthesizer entwickelt. Im Laufe der Zeit wurden die Protokolle angepasst und entwickelt, um mit den internen Synthesizer innerhalb Heimcomputer und persönliche Elektronik arbeiten. MIDI-Signale enthalten keine Audiodaten ihrer eigenen. Sie haben einfach übertragen Anweisungen an Hardware , die dann erzeugt Audiosignale basierend auf dieser Anleitung. Status- Bytes oder Befehlstaste Bytes
Jeder MIDI -Signal übertragen enthält mindestens ein Byte , obwohl zwei Bytes sind häufiger und mehr Bytes kann manchmal verwendet werden. Der erste der zwei oder mehr Bytes in einem MIDI -Signal wird als das Befehlsbyte oder Statusbyte bekannt . Jedes Byte enthält eine Reihe von 8 Datenbits . Das Status-Byte ist einzigartig unter den anderen Bytes in dem Signal , dass seine enthält eine Anweisung in der siebten Bit in seiner Reihe . Andere Bytes in einem MIDI-Signal nicht über einen Befehl in ihre siebte Bit . Das siebte Bit Regel weist eine Notiz auf einem bestimmten Kanal zu aktivieren oder zu deaktivieren , aber andere Anweisungen können auch enthalten sein. Dazu gehören ein " Aftertouch "-Einstellung , die Taste Druck simuliert , sowie Änderungen in der Tonhöhe und die Kontrolle über die Note.
Midi Channels
MIDI -Geräte arbeiten 16 Tonkanäle . Jeder dieser Kanäle ist so konfiguriert, dass eine bestimmte Stimme zu spielen. Zum Beispiel kann ein Kanal spielen eine synthetisiert Gitarrensound , während ein anderer spielt eine Piano-Sound und spielt noch eine weitere Perkussion. Die meisten MIDI-Geräte zeigen diese Kanäle fortlaufend nummeriert von 1 bis 16 , wobei die Informationen in der MIDI -Statusbyte in hexadezimal, oder Base sechzehn Format angezeigt wird. Hexadezimale Zahlen werden durch die Zahlen 0 bis 9 und den Buchstaben A bis F , so dass die Hexadezimalzahl 0 tatsächlich stellt die erste MIDI-Kanal oder einem Kanal vertreten. Hexadezimalzahl 1 stellt die zweite MIDI-Kanal und so weiter, mit A bis F , die Kanäle 11 bis 16 .
Befehle und Channels
Jeder Befehl Byte enthält zwei Arten von Daten . Insbesondere enthalten die Hälfte des Bytes den MIDI- Befehl . Das andere andere Hälfte der Byte enthält Kanal relevanten Daten zu diesem Befehl . Diese Daten werden über zwei hexadezimalen Werte mit dem ersten Wert diktiert den Befehl und der zweite Wert ist die Bestimmung der Kanal angezeigt. Zum Beispiel würde ein hexadezimaler Wert von 9A senden Sie die Note-On- Befehl an den elften MIDI-Kanal des Geräts.