prev up next

Midi

Durch die Digitalisierung von Klanginformationen entstehen sehr umfangreiche Dateien, wenn die für HiFi-Qualität erforderlichen Abtastfrequenzen von 44 Kilohertz bei 16-Bit Auflösung verwendet werden: Pro Minute werden etwa 10 MByte benötigt. Dieser Vorgang entspricht dem Einscannen einer Bildvorlage. Analog zur Vektorgraphik läßt sich die Klanginformation wesentlich kompakter speichern, wenn die Soundinformation nicht gesampelt werden muß, sondern im Computer entstehen kann. Hierzu ist eine Notation erforderlich, welche im wesentlichen den Verlauf jeder einzelnen Melodiestimme durch eine Sequenz von Ereignissen kodiert.

Die beiden nächsten Bilder zeigen beispielhaft, wie aus einer konventionellen Notenschrift eine Befehlsfolge entstanden ist, welche für jeden Schlag eines jeden Taktes unter Angabe des Zeitpunktes in Millisekunden die Notendauer, die Notenhöhe und die Anschlagstärke angibt.






Kodierung von Musik durch Notenhöhe, Notendauer und Anschlagstärke

Die zu diesem Zweck entworfene Sprache MIDI (Musical Instrument Digital Interface) entstand 1982 als Ergebnis einer Kooperation der Gerätehersteller Sequential Circuits, Roland, Yamaha, Kory und Kawaii und war ursprünglich konzipiert als Kommunikationssystem zur Ansteuerung elektronischer Musikinstrumente. Mit der Verbreitung von Personal-Computern kamen weitere Komponenten hinzu (1987 Midi Time Code, 1988 Midi Files). Inzwischen ist General Midi ein weitverbreiteter Standard zur Spezifikation, Manipulation, Übertragung und Speicherung von elektronisch erzeugter Musik. In Kombination mit einem PC reicht ein sogenanntes Masterkeyboard, welches über ein 5-poliges Kabel die Beschreibung des Musikstückes an die Soundkarte schickt, wo sie dann von einem Synthesizer, ggf. mit Unterstützung von digital abgelegten Klangsamples, in Töne umgesetzt wird.

Midinachrichten sind Byte-orientiert und werden über eine serielle Schnittstelle mit 31250 Baud übertragen.

Es wird unterschieden zwischen Status-Bytes und Datenbytes.

Status-Bytes beginnen mit einer 1, und enthalten vier Kanalbits, mit denen 16 angeschlossene Instrumente assoziert werden sowie drei Befehlbits, mit denen die in folgender Tabelle gezeigten acht Aktionen angekündigt werden können.

000 Note off schaltet Ton aus
001 Note on schaltet Ton an
010 Polyphonic Aftertouch Anschlagdruck für eine Taste
011 Control Change Realzeitmeldung, z.B. Lautstärke
100 Program Change Instrument/Klangfarbe
101 Channel Aftertouch Anschlagdruck für alle Tasten
110 Pitch Bend Auslenkung Tonhöhenrad
111 Systembefehl z.B. zur Synchronisation

Befehle im Statusbyte

Einem Statusbyte folgen ggf. mehrere Datenbytes. Z.B. gehören zum Note-On -Befehl zwei Parameter: Notennummer und Anschlaggeschwindigkeit. Mit 128 Werten können mehr als 10 Oktaven abgedeckt werden, eine Klaviertastatur mit 88 Tasten von Subkontra A bis zum fünfgestrichenen C belegt das Intervall 33 bis 120. Zum Note-Off -Befehl gehören wiederum Notennummer und Loslaßgeschwindigkeit.

Um den zeitlichen Aspekt beim Abspielen einer Midi-Datei zu rekonstruieren, wird die Zeitachse zu sogenannten Tics diskretisiert. Z.B. beträgt beim Sequenzer Cubasis die zeitliche Auflösung 384 Tics pro Viertelnote. Beim Abspeichern einer Notensequenz werden die Intervalle zwischen den Events als sogenannte Delta Times abgespeichert. Hierzu werden bis zu 4 Bytes verwendet.

HTML-Seite mit eingebetter Midi-Datei     (HTML-Source)


prev up next