Der online MIDI GuideLogo
Vorwort Inhaltsverzeichnis Downloads Links Contact

4. DIE VERSCHIEDENEN ARTEN DER ZAHLENDARSTELLUNG

Im Umgang mit MIDI-Daten haben sich verschiedene Arten der Zahlendarstellung durchgesetzt. Je nach Anwendungsgebiet wird der einen Vorzug vor den anderen gegeben.

4.1 Das Dezimalsystem

Die bekannteste Darstellungsart bietet das dezimale (auf den Zahlen "0" bis "9" basierende) Zahlensystem. Es ist allen vertraut und bedarf keiner weiteren Erläuterung. Dezimalzahlen finden in erster Linie Anwendung, wenn es um das einfache "Durchnummerieren" diverser Parameter geht. So werden oftmals die verschiedenen Klangprogramme eines Gerätes mit Hilfe des Dezimalsystems angegeben.


Allerdings tritt hier auch schon die erste Schwierigkeit auf. Es ist nämlich leider nicht festgelegt, mit welcher Ziffer das allererste Klangprogramm eines Gerätes gekennzeichnet wird. Vom Sprachgebrauch her hat es sich eingebürgert, das erste Programm mit "Nr. 1" zu bezeichnen, obwohl es mathematisch korrekter ist, ihm die Bezeichnung "Nr. 0" zuzuweisen. Andersherum gesagt ist es denkbar, dass der Program-Change-Befehl "1" bei einem Gerät das zweite Klangprogramm aufruft. Wie wir später noch sehen werden, ist es durchaus sinnvoll, beim Zählen mit "Null" zu beginnen.

4.2 Das Oktalsystem

Eine weitere Ausnahme bei der Durchnummerierung der Program Changes bildet das sogenannte "oktale" (auf den Zahlen 1-8 basierende) Zahlensystem. Es ist eingeführt worden, um den häufig anzutreffenden Geräten mit 64 Speicherplätzen gerecht zu werden. Dieses Oktalsystem ist dem Dezimalsystem ähnlich, kennt aber die Zahlen "0" und "9" nicht. Außerdem werden sämtliche (= 64) Werte zweistellig angegeben. Die Zählweise im Oktalsystem ist die folgende:

  11 12 13 14 15 16 17 18 21 22 23 24 25 ... 78 81 82 83 84 85 86 87 88

Falls mehr als 64 Werte benötigt werden, werden die Werte in zwei Gruppen unterteilt (typischerweise die Gruppen 'A' und 'B'). Man wählt dann von "A11" - "A88" (01 - 64) und "B11" - "B88" (65 - 128).

4.3 Das Hexadezimalsystem

Für alle komplizierteren MIDI-Anwendungen finden die folgenden zwei Zahlensysteme ("Hexadezimal" und "Binär") Anwendung. Das Hexadezimalsystem bietet den Vorteil, mit einer einzigen Stelle innerhalb der Darstellung 16 verschiedene Werte definieren zu können. Jetzt werden Sie vielleicht einwenden, dass dieses nicht möglich ist, da ja bereits die Zahl "10" zweistellig ist und mit den Zahlen "0" - "9" lediglich zehn, aber niemals sechzehn verschiedene Werte dargestellt werden können. Das ist natürlich richtig, darum wurden zu diesen Zahlen noch sechs weitere hinzugefügt, denen man als Darstellungssymbol einfach die ersten sechs Buchstaben des Alphabets zugeordnet hat. Die Zählweise im Hexadezimal-System lautet demnach:

  0 1 2 3 4 5 6 7 8 9 A B C D E F 10 11 12 ... 19 1A 1B ... 1F 20 21 ...

An dieser Stelle ist es notwendig zu sagen, dass bei Zahlenangaben im Zusammenhang mit MIDI immer angegeben sein muss, aus welchem System sie stammen. So kann z. B. die Ziffernfolge "11" verschiedene Werte darstellen:

Im folgenden werden hexadezimale Zahlen mit einem großen "H" hinter der Zahl gekennzeichnet z.B. 7FH.

4.4 Das Binärsystem

Ein weiteres Zahlensystem ist das "binäre" System. Es wird oft auch als "Dual-System" bezeichnet. Dieses Zahlensystem kennt lediglich die Zahlen "0" und "1". Daraus folgt, dass zur Angabe größerer Werte viele Stellen benötigt werden. In bestimmten, computerbezogenen Anwendungen ist dieses System sehr gebräuchlich, da Computer bekannterweise nur zwei logische Zustände ("0" und "1") kennen und man direkt aus einer Binärzahl ersehen kann, welche Stelle (welches Bit) "gesetzt" ist.



Hier nun die ersten zwanzig Zahlenwerte in verschiedenen Darstellungsformen:

Binär Oktal Dezimal Hexadezimal
00000000 11 00 00
00000001 12 01 01
00000010 13 02 02
00000011 14 03 03
00000100 15 04 04
00000101 16 05 05
00000110 17 06 06
00000111 18 07 07
00001000 21 08 08
00001001 22 09 09
00001010 23 10 0A
00001011 24 11 0B
00001100 25 12 0C
00001101 26 13 0D
00001110 27 14 0E
00001111 28 15 0F
00010000 31 16 10
00010001 32 17 11
00010010 33 18 12
00010011 34 19 13
00010100 35 20 14
00010101 36 21 15

Im Binärsystem werden die Leerstellen oftmals mit Nullen aufgefüllt, um klarzustellen, mit wie vielen Stellen das verwendete System zu rechnen in der Lage ist. Beim MIDI-System z.B. sind das in der Regel acht Stellen, auch wenn davon in den meisten Fällen nur sieben Stellen genutzt werden dürfen. Solche acht Stellen ergeben zusammen ein sogenanntes "Byte". So wird die Dezimalzahl "15" binär als "00001111" angegeben.



Ein solches Byte besteht aus acht einzelnen "Bits" (= binary digit, einzelne Zahl des Binärsystems). Um auseinander zu halten, von welcher Stelle innerhalb eines Bytes die Rede ist, werden diese nach ihrer Wertigkeit sortiert. Man unterscheidet dabei die "höherwertigen" Bits (von links die ersten vier) und die "niederwertigen" Bits (von rechts die ersten vier). Aus den englischen Bezeichnungen "Most Significant Bit" und "Least Significant Bit" ergeben sich für die (von links) erste bzw. letzte Stelle die Abkürzungen "MSB" bzw. "LSB":

MSB 00101001
LSB 00101001

(zum nächsten Kapitel)