nächstes: , voriges: Automatisierter Notensatz, aufwärts: Hintergrund


Welche Symbole?

Während des Notensatzprozesses entscheidet sich, wo Symbole platziert werden. Das kann aber nur gelingen, wenn vorher entschieden wird, welche Symbole gesetzt werden sollen, also welche Notation benutzt werden soll.

Die heutige Notation ist ein System zur Musikaufzeichnung, das sich über die letzten 1000 Jahre entwickelt hat. Die Form, die heute üblicherweise benutzt wird, stammt aus dem frühen Barock. Auch wenn sich die grundlegenden Formen (also die Notenköpfe, das Fünfliniensystem) nicht verändert haben, entwickeln sich die Details trotzdem immer noch weiter, um die Errungenschaften der Neuen Musik darstellen zu können. Die Notation umfasst also 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. Der Schreiber, der die Musik in Graphik umwandelt, ist ein Kopist oder Notenstecher (engl. engraver). Darum werden die Plugins als engraver bezeichnet.

Im nächsten Beispiel wird gezeigt, wie mit dem Plugin für die Notenköpfe, dem Note_heads_engraver („Notenkopfstecher“) der Satz begonnen wird.

[image of music]

Dann fügt ein Staff_symbol_engraver („Notensystemstecher“) die Notenlinien hinzu.

[image of music]

Der Clef_engraver („Notenschlüsselstecher“) definiert eine Referenzstelle für das System.

[image of music]

Der Stem_engraver („Halsstecher“) schließlich fügt Hälse hinzu.

[image of music]

Dem Stem_engraver wird jeder Notenkopf mitgeteilt, der vorkommt. Jedes Mal, wenn ein Notenkopf erscheint (oder mehrere bei einem Akkord), wird ein Hals-Objekt erstellt und an den Kopf geheftet. Wenn wir dann noch engraver für Balken, Bögen, Akzente, Vorzeichen, Taktlinien, Taktangaben und Tonartbezeichnungen hinzufügen, erhalten wir eine vollständige Notation.

[image of music]

Dieses System funktioniert gut für monophone Musik, aber wie geht es mit Polyphonie? Hier müssen sich mehrere Stimmen ein System teilen.

[image of music]

In diesem Fall benutzen beide Stimmen das System und die Vorzeichen gemeinsam, aber die Hälse, Bögen, Balken usw. sind jeder einzelnen Stimme eigen. Die engraver müssen also gruppiert werden. 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-Kontext dann also mehr als nur einen Voice-Kontext. Auf gleiche Weise können auch mehrere Staff-Kontexte in einen großen Score-Kontext (Partiturkontext) eingebunden werden.

Siehe auch

Programmreferenz: Contexts.

[image of music]

Diese Seite ist für LilyPond-2.11.58 (Entwicklungszweig).

Fehler bitte an http://post.gmane.org/post.php?group=gmane.comp.gnu.lilypond.bugs melden.

Ihre Vorschläge für die Dokumentation sind willkommen.

Andere Sprachen: English, français, español.