LilyPond Handbuch zum Lernen: 3.3.2 Kontexte erstellen

### 3.3.2 Kontexte erstellen

In einer Eingabedatei enthält eine `Score`-Umgebung (einen Kontext), die mit dem Befehl `\score` eingeleitet wird, nur einen einzigen musikalischen Ausdruck und mit ihm verknüpft eine Ausgabedefinition (entweder eine `\layout`- oder eine `\midi`-Umgebung). Üblicherweise wird der `Score`-Kontext automatisch von LilyPond erstellt, wenn der musikalische Ausdruck interpretiert wird.

Wenn nur ein System vorhanden ist, kann man es ruhig LilyPond überlassen, auch die `Voice`- und `Staff`-Kontexte zu erstellen, aber für komplexere Partituren ist es notwendig, sie mit einem Befehl zu erstellen. Der einfachste Befehl hierzu ist `\new`. Er wird dem musikalischen Ausdruck vorangestellt, etwa so:

>     \new Typ musikalischer Ausdruck

wobei Typ eine Kontextbezeichnung (wie etwa `Staff` oder `Voice`) ist. Dieser Befehl erstellt einen neuen Kontext und beginnt, den muskalischen Ausdruck innerhalb dieses Kontexts auszuwerten.

Achtung: Der \`new Score`-Befehl sollte nicht benutzt werden, weil der Partitur-(Score)-Kontext der obersten Ebene normalerweise automatisch erstellt wird, wenn der musikalische Ausdruck innerhalb der `score`-Umgebung interpretiert wird. Standard-Werte von Kontexteigenschaften, die für einen bestimmten `Score` gelten sollen, können innerhalb der \`layout`-Umgebung definiert werden. Siehe Kontexteigenschaften verändern.

Wir haben schon viele explizite Beispiel gesehen, in denen neue `Staff`- und `Voice`-Kontexte erstellt wurden, aber um noch einmal ins Gedächtnis zu rufen, wie diese Befehle benutzt werden, hier ein kommentiertes Beispiel aus dem richtigen Leben:

>     \score {  % start of single compound music expression
>       <<  % start of simultaneous staves section
>         \time 2/4
>         \new Staff {  % create RH staff
>           \clef "treble"
>           \key g \minor
>           \new Voice {  % create voice for RH notes
>             \relative {  % start of RH notes
>               d''4 ees16 c8. |
>               d4 ees16 c8. |
>             }  % end of RH notes
>           }  % end of RH voice
>         }  % end of RH staff
>         \new Staff <<  % create LH staff; needs two simultaneous voices
>           \clef "bass"
>           \key g \minor
>           \new Voice {  % create LH voice one
>             \voiceOne
>             \relative {  % start of LH voice one notes
>               g8 <bes d> ees, <g c> |
>               g8 <bes d> ees, <g c> |
>             }  % end of LH voice one notes
>           }  % end of LH voice one
>           \new Voice {  % create LH voice two
>             \voiceTwo
>             \relative {  % start of LH voice two notes
>               g4 ees |
>               g4 ees |
>             }  % end of LH voice two notes
>           }  % end of LH voice two
>         >>  % end of LH staff
>       >>  % end of simultaneous staves section
>     }  % end of single compound music expression

(Beachten Sie, dass wir hier alle Zeilen, die eine neue Umgebung entweder mit einer geschweiften Klammer (`{`) oder doppelten spitzen Klammern (`<<`) öffnen, mit jeweils zwei Leerzeichen, und die entsprechenden schließenden Klammern mit der gleichen Anzahl Leerzeichen eingerückt werden. Dies ist nicht erforderlich, es wird aber zu einem großen Teil die nicht passenden Klammerpaar-Fehler eliminieren und ist darum sehr empfohlen. Es macht es möglich, die Struktur einer Partitur auf einen Blick zu verstehen, und alle nicht passenden Klammern erschließen sich schnell. Beachten Sie auch, dass das untere Notensystem mit eckigen Klammern erstellt wird, denn innerhalb dieses Systems brauchen wir zwei Stimmen, um die Noten darzustellen. Das obere System braucht nur einen einzigen musikalischen Ausdruck und ist deshalb von geschweiften Klammern umschlossen.)

Der `\new`-Befehl kann einem Kontext auch einen Namen zur Identifikation geben, um ihn von anderen Kontexten des selben Typs zu unterscheiden:

>     \new Typ = Name musikalischer Ausdruck

Beachten Sie den Unterschied zwischen der Bezeichnung des Kontexttyps (`Staff`, `Voice`, usw.) und dem Namen, der aus beliebigen Buchstaben bestehen kann und vom Benutzer frei erfunden werden kann. Zahlen und Leerzeichen können auch benutzt werden, in dem Fall muss der Name aber von doppelten Anführungszeichen umgeben werden, also etwa `\new Staff = "Mein System 1" musikalischer Ausdruck`. Der Name wird benutzt, um später auf genau diesen spezifischen Kontext zu verweisen. Dieses Vorgehen wurde schon in dem Abschnitt zu Gesangstexten angewandt, siehe Stimmen und Text.

#### Siehe auch

Notationsreferenz: Kontexte erstellen und referenzieren.

#### LilyPond – Learning Manual v2.22.2 (stabiler Zweig).