MIDI von Anfang an: Praktische Detailkenntnisse

Atari und MIDI. Eine der erfolgreichsten Ehen der Computergeschichte. Und es sind auch die Musiker, die dem Atari die Treue halten. Und genau deshalb wollen wir dem Thema Atari & Musik auch in der st-computer in Zukunft wieder mehr Raum geben. Den Anfang macht geballte und im Lehramt erprobte Fachkompetenz. Professor Dr. Herbert Walz berichtet im dritten Teil seines MIDI-Tutorials von der Anwendung von Detailkenntnissen in der Praxis der Notation.

So nützlich der im vorherigen Teil des Workshops gegebene Überblick über die MIDI-Nachrichten für das Verständnis auch sein mag, in der Praxis sind jedoch Kenntnisse bis ins Detail gefragt, um das gewünschte Ergebnis zu erzielen. Deshalb sollen diesmal häufig vorkommende MIDI-Nachrichten näher betrachtet werden.

Channel-Voice-Message NOTE ON/NOTE OFF

Dies sind wohl die mit Abstand häufigsten Channel-Voice-Messages. Jede Note muss schließlich ein- und ausgeschaltet werden, wobei es sich genau genommen um Töne und nicht um Noten handelt. Aber die Definition ist nun einmal so gewählt, und daran muss man sich halten.

Zwar ist das Verständnis der Tabelle 1 nur für MIDI-Programmierer ein unbedingtes Muss, dennoch ist sie auch für Musiker von Interesse, finden sich doch derartige Listen im Anhang der Handbücher von MIDI-Soundmodulen und -Keyboards. In der Spalte ganz links stehen die 8 Bit im Binärformat. Dabei ist das Bit ganz links, das sogenannte „höchstwertige Bit", 1. Dies ist das Kennzeichen der sogenannten „Status-Bytes", jener Bytes also (Byte = Datenwort von 8 Bit), welche die Bedeutung der nachfolgenden Daten angeben. Die vier „k" bezeichnen jene Bits, die die Kanalzahl darstellen. In der Hex-Spalte (hexadezimal wird meist auf hex abgekürzt) sind alle Bytes im Hexadezimal-Format dargestellt. Dabei werden jeweils 4 Bit zu einer Hex-Stelle zusammengefasst. So entsteht bei NOTE-OFF 8k. Die Kanalzahl k ist dann in der Dezimal-Spalte zusätzlich dezimal mit dem Wertebereich von k=0...15 dargestellt, was 16 MIDI-Kanälen entspricht. In der Hex-Spalte ganz rechts wird dann die Kanalzahl hexadezimal dargestellt, mit dem Wertebereich von k=0...f. Die Kanalzahl ist für diese Nachrichtenart von entscheidender Bedeutung. Es muss ja ein Ton auf einem bestimmten Kanal ein- oder ausgeschaltet werden. Dieser ist auf einen bestimmten Klang eingestellt und repräsentiert somit ein bestimmtes Instrument

In der zweiten Zeile ist bei beiden MIDI-Nachrichten die Note-Nr., also die Ton-Nummer, kodiert. Diese wurde im vorherigen Teil des MIDI-Workshops in einer Tabelle schon auszugsweise aufgelistet. In der Binär-Spalte erkennt man deutlich, dass das höchstwertige Bit ganz links auf 0 gesetzt ist. Dies ist das Kennzeichen aller Daten-Bytes. So sind sie von den Status-Bytes zu unterscheiden, bei denen das betreffende Bit auf 1 gesetzt ist. Alle übrigen Bits werden für die Ton-Nr. verwendet. Sinngemäß wird dafür der Buchstabe n verwendet. Hexadezimal bedeutet dies nn. Der Wertebereich der Ton-Nr. umfasst also dezimal nn=0...127 und hex. nn=0...7f. In diesen Wertebereich passen die 10 Oktaven zu je 12, also insgesamt 120 Tönen, die ein Mensch etwa hören kann, gut hinein.

In der dritten Zeile beider MIDI-Nachrichten steht die Velocity, weshalb sich für die betreffenden Bits der Buchstabe v anbietet. Velocity bezeichnet im englischen eigentlich eine Geschwindigkeit, die hier als Änderungsgeschwindigkeit zu verstehen ist. Bei NOTE-OFF ist dies die Abklinggeschwindigkeit oder der Nachklang. Bei NOTE-ON ist es die Anklinggeschwindigkeit, für die der Ausdruck Anschlagdynamik gebräuchlich ist. Auch dieser Wertebereich umfasst mit seinen 7 Bit - das achte ist ja 0 - dezimal vv=0... 127 und hex vv=0... 7f. Zu erwähnen ist, dass diverse MIDI-Klangerzeuger keinen Nachklang erzeugen. Die Anschlagdynamik hingegen wird meist sehr gut umgesetzt. So kann man beispielsweise bei einem Klavier deutlich hören, dass bei schwachem Anschlag der Klang weich und bei starkem Anschlag der Klang hart klingt.

Eingabe der Tonhöhe

Nun müssen diese Daten in Musikprogrammen eingegeben werden. Eine verbreitete Möglichkeit ist, dass in einer Toolbox Noten oder Pausen mit der gewünschten Dauer gewählt werden können. Die gewählte Note wird dann mit der Maus an der gewünschten Position plaziert. Hilfslinien werden bei Bedarf automatisch gezeichnet. Als Beispiel dafür sei die Toolbox von Score Perfect am unteren Rand von dessen Editor-Fenster genannt (Abbildung 1).

So schön und einleuchtend diese Eingabemethode auch ist, so hat sie doch auch Schwächen. Sie erfordert nämlich genaues Positionieren der Note mit der Maus und vielfach noch Nacharbeit. Verrutscht die Maus geringfügig beim Klicken, ist die Note schon falsch und muss korrigiert werden. Bei Akkorden können Noten sehr eng stehen, bis hin zu sogenannten „Kirschennoten", die sich sogar berühren. Zudem sind bei komplizierter Notation meist noch diverse Ergänzungen wie andere Halsrichtung oder -länge, Bindebögen usw. erforderlich, die dann durch Ändern der eingegebenen Note erst nachgetragen werden müssen. Deshalb habe ich für mein eigenes Musikprogramm MusicEdit eine etwas andere Methode gewählt. Lediglich in der Toolbox, in der man Noten und Pausen von gewünschter Dauer mit allen möglichen Zusätzen wie Punktierung, Fermaten, Triolen, Quintolen, Sextolen und Septolen (sogenannten „Ntolen") wählen kann, habe ich MusicEdit in der neuesten Version an diese weitverbreitete Eingabemethode angeglichen. Nach dieser Toolbox erscheint aber ein Dialog, in dem man sämtliche Eigenschaften einer Note oder Pause wählen kann (Bild 2).

Bild 1: Die Toolbox von Score Perfect
Bild 2: Die Toolbox von MusicEdit
Bild 3: Der Noten-Dialog von MusicEdit
Bild 4: Der Tonhöhen-Dialog von MusicEdit

Man braucht also nicht wie bei anderen Musikprogrammen die Feinheiten der Notation erst im gesamten Programm zusammenzusuchen, sondern hat sie griffbereit im jeweiligen Eingabedialog des Notenelements. Lediglich ein gewisser psychologischer Nachteil ist damit verbunden. So entsteht bei manchen Interessenten, die zum ersten Mal die Fülle von Noteneigenschaften sehen, der Eindruck, dass bei MusicEdit besonders viel einzugeben sei. Wer sich mit MusicEdit eingehender befasst, merkt jedoch sehr schnell, dass dieser Eindruck trügt. Man hat eben nur alle Möglichkeiten vor Augen, verliert keine Zeit mit dem Herbeiholen oder gar Suchen. Man pickt sich immer nur das heraus, was man gerade braucht. Noch schneller wird diese Eingabemethode, wenn man die in MusicEdit integrierte Kopierfunktion hinzuzieht. Durch Anklicken gleicher Noten hat man sofort die vollständigen Daten eines Notenelements im Eingabedialog, klickt „Eingeben" und noch in die gewünschte Notenzeile an, und schon sitzt die Note an der richtigen Stelle (Bild 3).

Dass man nicht auf die genaue Notenposition klicken braucht, liegt daran, dass im Eingabedialog der Name der Noten anzugeben ist, also z. B. cl für das eingestrichene c. Wer nicht weiß, auf welcher Notenlinie das eingestrichene c liegt, der kann über einen Pfeilknopf einen Zusatzdialog herbeiklicken, in welchem für alle Noten bei allen verfügbaren Notenschlüsseln ihre Bezeichnung durch Anklicken in den zentralen Eingabedialog eingetragen wird. Mit der Zeit wird man sich ohnehin die Notenbezeichnungen merken und braucht diesen Zusatzdialog nicht mehr. Auch beim Kopieren ist er überflüssig (Bild4).

Auch bei Pausen und allen sonstigen Notenelementen wird die Lage über die Tonhöhe festgelegt. Dies bietet sich an, denn die Verarbeitung der MIDI-Nummern für die Tonhöhe ist mit geringem Aufwand an Rechenleistung möglich und trägt somit zur Laufgeschwindigkeit bei. Angesichts der rechenintensiven sowie größenveränderlichen Notengrafik und der weiteren Steigerung des Aufwandes durch die Noten-Pausen-Toolbox ist dies auch dringend angeraten. Sie verursacht nämlich ein Anwachsen der Farb-Ressource-Datei auf über 64 kB, mit der nur noch neuere TOS-Versionen zurechtkommen. Aber durch die Erstellung einer zweiten Resource-Datei in Schwarzweiß, die noch unter besagter Grenze liegt, ist es nach wie vor möglich, MusicEdit wenigstens zum Testen auf älteren TOS-Versionen laufen zu lassen. MusicEdit überprüft die TOS-Version beim Programmstart automatisch, liefert eine entsprechende Meldung und schaltet ggf. selbsttätig von der Färb- auf die Monochrom-Resource-Datei um. Dies ist übrigens ein deutlicher Beweis dafür, dass nichts unversucht gelassen wird um MusicEdit einerseits in Aussehen und Erscheinungsbild zeitgemäß zu gestalten und dennoch altgediente Original-Ataris so weit wie möglich zu berücksichtigen. Andererseits gibt es ja die Multitasking-Betriebssysteme MagiC und N.AES, die ältere TOS-Versionen ersetzen können, sodass dann wieder volle Lauffähigkeit für MusicEdit hergestellt ist. Bei Score-Perfect ist die allerdings genau umgekehrt (Bild 5).

Bild 5: Der Pausen-Dialog von MusicEdit
Bild 6: Das Mischpult von Score-Perfect
Bild 7: Der Dynamik-Dialog von MusicEdit

Bei Pausen ist die Vielfalt der Eingaben schon deutlich geringer als bei Noten. Gerne würde ich es denjenigen Interessenten recht machen, die eine noch einfachere Bedienung wünschen. Wo dies wie etwa bei Pausen möglich ist, wird diesem Wunsche gerne nachgekommen. Es gibt sogar ein Beispiel, das zeigt, dass sogar ein Eingabefeld im Noten- und Pausen-Dialog entfallen konnte - nämlich das für die Zeitmarke. Mit ihr wurde in besonders schwierigen Fällen festgelegt welche Töne zu einem Akkord gehören. Dass auch andere Musikprogramme derartige Zusatzinformationen benötigen, sieht man an Capella, das leider auf Ataris nicht verfügbar ist. Dort gibt es einen sogenannten „Akkordmodus". Alle Töne, die in diesem Modus eingegeben werden, gehören zu einem Akkord und werden automatisch in derselben Spalte angeordnet. Derartiges benötigt mittlerweile MusicEdit nicht mehr. Es erkennt -genauso wie ein Musiker - dass Noten, die in derselben Spalte stehen, zu einem Akkord gehören. Warum nicht gleich so, wird manch geneigter Leser fragen. Weil hier die alte Regel gilt: Je einfacher für den Anwender, umso schwieriger für den Programmierer.

Eingabe der Dynamik

Auch zur Eingabe der Dynamik gibt es zwei grundlegend unterschiedliche Verfahren: Bildschirm-Mischpult oder spielbare Dynamiksymbole. In der Regel sind diese Bildschirm-Mischpulte während der Wiedergabe des Musikstücks bedienbar. Dabei werden die eingestellten Dynamikwerte direkt in die Notendaten eingetragen. Es handelt sich also um ein Verfahren, wie man es von echten Studiokomponenten her kennt. Als Beispiel sei hier das Bildschirm-Mischpult von Score Perfect angeführt. Mit ihm lassen sich alle im Musikstück verwendeten Instrumente bezüglich Dynamik, Panorama und Hall regeln. Im vorliegenden Beispiel sind es vier. Zusätzlich ist auch noch die Gesamtlautstärke einstellbar. Darunter befindet sich für jedes Instrument eine Aussteuerungsanzeige, die hier im stehenden Bild nicht aktiv ist (Bild 6).

**Tabelle 1: Channel-Voice-Messages**
Binär hex Bedeutung Dezimal Hex
1000 kkkk 8k NOTE OFF (Ton aus) auf Kanal k=0... 15 k=0...f
0nnn nnnn nn Note Nr. (Ton-Nr.) nn = 0... 127 nn=0... 7f
0vvv vvvv vv Velocity (Nachklang) vv=0... 127 vv=0... 7F
1001 kkkk 9k NOTE ON (Ton ein) auf Kanal k=0...15 k=0... f
0nnn nnnn nn Note Nr. (Ton-Nr.) nn=0... 127 nn=0... 7f
0vvv vvvv vv Velocity (Anschlagsdynamik) vv=0... 127 vv=0.. 7f

Was zunächst ein Vorteil ist - nämlich dass man das Bildschirm-Mischpult genau so bedienen muss, wie die Dynamik verlaufen soll - wird bei vielen Instrumenten unversehens zum Nachteil, je mehr Regler man nämlich zu bedienen hat, umso aufwändiger wird diese Eingabemethode. Deshalb habe ich bei MusicEdit die Konzeption der spielbaren Symbole realisiert. Dies gilt übrigens für sämtliche Symbole, nicht nur für Dynamiksymbole (Bild 7).

Der Vorteil der spielbaren und akustisch gestaltungsfähigen Symbole liegt darin, dass man die Eingaben ohne Zeitdruck vornehmen, dann in aller Ruhe das Ergebnis anhören und schließlich so lange ändern kann, bis das Ergebnis seinen Vorstellungen entspricht. Der Anwender erhält auf diese Weise ein Musikstück mit gestalteter Wiedergabe, so wie dies ein Musiker tun würde, nur dass hier die musikalische Vorstellung direkt in das Musikstück eingeht, ohne dass dabei irgendwelche spieltechnischen Probleme auftreten können.

Von Noten unabhängige Gestaltungsebene. Bei vielen modernen Musikprogrammen kann man heute diese von den Noten unabhängige Gestaltungsebene antreffen. Diese Fähigkeiten erkennt man nicht auf den ersten Blick. Man muss über sie Bescheid wissen oder gezielt nach ihnen suchen. Es ist also nicht unbedingt erforderlich, ein Musikstück in Echtzeit über ein Keyboard einzugeben um ein live klingendes Musikstück zu erhalten. Man umgeht dabei elegant das Problem der immer etwas ungenauen Spielweise, wie sie eben uns Menschen eigen ist, die zwar gut klingt, aber zu einem kaum brauchbaren Notenbild führt. Abhilfe versucht man hier mit immer intelligenteren sogenannten „Quantisierungsroutinen" zu schaffen, oder man spielt in langsamerem Tempo oder gar Stimme für Stimme ein.

Bei der direkten Noteneingabe hat man derlei „Eingabehilfen" nicht nötig. Man gibt die Noten ein und gestaltet sie grafisch und anschließend akustisch. So erzielt man ein sowohl grafisch als auch akustisch durchaus überzeugendes Ergebnis.

Neue Internetadressen von Prof. Walz:
musicedit.de
profwalz.de


Herbert Walz
Aus: ST-Computer 02 / 2001, Seite 32

Links

Copyright-Bestimmungen: siehe Über diese Seite