Vorlesung: Praxis der Funktionalen Programmierung
| Index
Midi-Daten und Ströme
Midi ist eine sehr einfaches (hardwarenahes) Protokoll
zur Musikbeschreibung, das von den meisten elektronischen
Klangerzeugern verstanden wird.
Eine Midi-Strom besteht aus Nachrichten der Form
- Note an (mit Parametern Kanal, Noten-Nummer, Lautstärke)
- Note aus (Kanal, Nummer)
Es gibt 16 Kanäle, die anderen Parameter sind Zahlen
zwischen 0 und 127.
Außer Noten werden Steuersignale übertragen,
wichtig ist
- Programmwechsel (Kanal, Programm)
das bestimmt (ab sofort) ein neues Instrument für die Noten,
die dann auf diesen Kanal geschickt werden.
Die Programmnummer ist zunächst auch eine Zahl zwischen 0 und 127.
Moderne Synthesizer können natürlich mehr,
deswegen gibt es weitere Steuerbefehle,
mit denen ganze Instrumentengruppen gewechselt werden können
sowie noch Klangparameter für aktivierte Instrumente variiert.
Zur Hardware fließen die Daten in Echtzeit,
d. h. was ankommt, wird sofort gespielt.
Um die zeitliche Abfolge eines Musikstücks zu beschreiben,
müssen die Wartezeiten zwischen den Tönen (Midi-Nachrichten)
spezifiziert werden. Ein Midi-Strom mit Zeit-Information
kann dann auch in einem File gespeichert
und von einem Midi-Treiber abgespielt (d. h. auf /dev/midi
geschickt) werden.
TODO: link auf Midi(File)Spec
http://www.informatik.uni-leipzig.de/~joe/
mailto:joe@informatik.uni-leipzig.de