Notation von Musik
Die übliche Notation erfasst etwa 500 Jahre Musikgeschichte. Ihre Anwendung reicht von monophonen Melodien bis zu ungeheurem Kontrapunkt für großes Orchester. Wie bekommen wir dieses vielköpfige Monster zu fassen? Unsere Lösung ist es, eine strikte Trennung zwischen der Notation, also welche Symbole benutzt werden, und dem Satz, also wohin sie gesetzt werden, zu machen. Um das Problem anzupacken, haben wir es in kleine (programmierbare) Happen zerteilt, so dass jede Art von Symbol durch ein eigenes Plugin verarbeitet wird. Alle Plugins kooperieren durch die LilyPond-Architektur. Sie sind vollständig modular und unabhängig und können somit auch unabhängig voneinander entwickelt werden.
- Die untersten Plugin-Ebene erstellt die Notenköpfe:
Mit diesem Plugin werden die graphischen Elemente für musikalische Ereignisse dargestellt. Der Schreiber, der die Musik in Graphik umwandelt, ist ein Kopist oder Notenstecher (engl. engraver). Darum wird dieses Plugin Note_head_engraver (Notenkopfstecher) genannt.
- Der Staff_symbol_engraver (Notensystemstecher) erstellt
die Objekte, das die Notenlinien darstellt.
-
Der Clef_engraver (Notenschlüsselstecher) sagt dem
Note_head_engraver wie hoch jedes Symbol gesetzt werden soll.
-
Für Fähnchen und Hälse nehmen wir den Stem_engraver (Halsstecher):
Diesem engraver wird jeder Notenkopf mitgeteilt, der vorkommt. Jedes Mal wenn ein (oder mehrer bei einem Akkord) Notenkopf erscheint, wird ein Hals-Objekt erstellt und an den Kopf geheftet.
-
Balken, Bögen und Akzente werden von eigenen engravern
gehandhabt. So wie der stem_engraver erstellen sie Objekte
und verbinden sie dann mit den Hälsen, Köpfen usw.:
-
Vorzeichen, Taktstriche, Taktartangaben und Schlüssel haben alle
ihre eigenen engraver.
Der Accidental_engraver ist von ihnen am kompliziertesten. Er muss sowohl die Schlüsselangabe, Notenhöhe, Bögen als auch Taktstriche beachten, damit er die richtige Stelle fü die Vorzeichen entscheiden kann.
Polyphone Notation
Das System, wie es im letzten Absatz gezeigt wurde, funktioniert sehr gut mit monophoner Musik, aber wie geht es mit Polyphonie? Hier müssen sich mehrere Stimme ein System teilen:
In diesem Fall werden das System und die Vorzeichen geteilt, aber die Hälse, Bögen, Balken usw. sind jeder einzelnen Stimme eigen. Die engraver müssen also gruppiert werden. Die fü die Köpfe, Hälse, Bögen usw. werden in einer Gruppe mit dem Namen „Voice context“ (Stimmenkontext) zusammengefasst, die engraver für den Schlüssel, die Vorzeichen, Taktstriche usw. dagegen in einer Gruppe mit dem Namen „Staff context“ (Systemkontext). Im Falle von Polyphonie hat ein Staff context dann also mehr als einen Voice context. Auf gleiche Weise können auch mehrere Staff contexte in einen großen Score context (Partiturkontext) eingebunden werden:
Weiter: Die Kunst des Notenstechens:
Wie wurde denn Musik mit der Hand gestochen?