Mehr Notenzeilen
Eine Notenzeile für den Gesang ist zwar schon ganz nett, wir wollten aber den Notensatz eines Liedes, das aus weitaus mehr besteht. Typischerweise bestehen solche Unterhaltungslieder von oben nach unten aus folgenden Einzelbestandteilen:
- Gitarrenakkorde (werden wir hier nicht umsetzen)
- Gesangsmelodie
- Gesangstext (ggf. mehrere Strophen)
- Klavier rechte Hand
- Dynamikanweisungen
- Klavier linke Hand
- Dämpferpedal (werden wir hier nicht umsetzen)
Bevor wir mit der eigentlichen Noteneingabe beginnen, erweitern wir unser Grundgerüst mit diesen Elementen. Wir führen einige zusätzliche Variable ein, die später einmal die Klaviernoten aufnehmen werden. Die Variablen werden zwar in der Reihenfolge erstellt, wie sie später gedruckt werden sollen, aber an dieser Stelle ist die Reihenfolge letzlich vollkommen egal. Sie können auch mit der für die linke Hand beginnen.
...
singer = \relative c'' {
c
}
pianoUpper = \relative c'' { }
pianoLower = \relative c' { }
\book {
...
\score-Umgebung stattfinden wird. Man könnte beispielsweise auf die Idee kommen, mittels mehrerer \new Staff-Befehle einige Notenzeilen zu ergänzen. Das endet aber mit einer Fehlermeldung, denn \score verkraftet zunächst nur eine Notenzeile. Aber: Es gibt natürlich eine Lösung. Wenn in lilypond Dinge parallel passieren sollen, trifft man auf den Operator << ... >>. Zwischen den doppelten spitzen Klammern kann man munter Notensysteme u.ä. auflisten:
\score {
<<
\new Staff {
\new Voice { \singer }
}
\new Staff {
\new Voice { \pianoUpper }
}
\new Staff {
\new Voice { \pianoLower }
}
>>
\layout {
}
}
Das trifft es schonfast, aber das Aussehen ist noch irgendwie ungewohnt. Wir erhalten drei Notenzeilen, die am linken Rand mit einer Linie verbunden sind. Üblicherweise werden die Zeilen für linke und rechte Hand (Klavier) auch noch mit einer geschweiften Klammer zusammengefasst. Um diese beiden Notenzeilen derart zusammenzufassen, benutzt man \PianoStaff. Innerhalb eines \PianoStaff kann man zwei Notenzeilen, Text und ähnliches zusammenfassen. Nebenbei beschriften wir auch noch die Notenzeilen als "Voice" und "Piano" mit Hilfe von instrumentName.
\score {
<<
\new Staff \with { instrumentName = #"Voice" } {
\new Voice { \singer }
}
\new PianoStaff \with { instrumentName = #"Piano " } {
\new Staff {
\new Voice { \pianoUpper }
}
\new Staff {
\new Voice { \pianoLower }
}
}
>>
\layout {
}
}
Die Notenzeilen sind damit definiert, es fehlen noch der Gesangstext und die Dynamikbezeichnungen. Beim Gesangstext sind wir mit dem Problem konfrontiert, dass er an den Noten der Gesangsmelodie ausgerichtet werden muss. Wir müssen die Gesangsstimme irgendwie eine Verbindung zwischen beiden herstellen, indem wir die Gesangsstimme kenntlich machen, um dann an einer anderen Stelle darauf referenzieren zu können. Kenntlich machen wir die Gesangsstimme, indem wir ihr einen eindeutigen Namen geben. Apropos Namen: Man muss gelegentlich auch auf Notensysteme verweisen, beispielsweise wenn Noten der linken Hand zur Vermeidung einer exzessiven Zahl von Hilfslinien im Notensystem der rechten Hand gesetzt werden sollen. Wenn wir schon dabei sind, vergeben wir denen auch noch gleich Namen:
\score {
<<
\new Staff = "singer" \with { instrumentName = #"Voice" } {
\new Voice = "singerVoice" { \singer }
}
\new PianoStaff \with { instrumentName = #"Piano " } {
<<
\new Staff = "pianoUpper" {
\new Voice { \pianoUpper }
}
\new Staff = "pianoLower" {
\new Voice { \pianoLower }
}
>>
}
>>
\layout {
}
}
Die Notensysteme und Stimmen haben jetzt ihre Namen erhalten. Den Text selber packen wir wieder in eine eigene Variable, die eine lyricmode-Umgebung sein muss. Ausgeben lassen wir den Text in der \score-Umgebung mit \new Lyrics. Das darauf folgende \lyricsto name
singer = \relative c'' {
c
}
lyricsLineOne = \lyricmode { Hello }
pianoUpper = \relative c'' { }
pianoLower = \relative c' { }
\score {
<<
\new Staff = "singer" \with { instrumentName = #"Voice" } {
\new Voice = "singerVoice" { \singer }
}
\new Lyrics \lyricsto "singerVoice" { \lyricsLineOne }
\new PianoStaff \with { instrumentName = #"Piano " } {
...Was die Dynamik, also die Lautstärke, betrifft, gibt es zwei Methoden. Zum einen ist kann man Lautstärkebezeichnungen einfach an Noten anhängen. Man kann aber auch alles in eine extra Zeile packen, die man zwischen den Systemen für link und rechte Hand ausgeben lässt. Alles was man dazu braucht ist (wieder einmal) eine Variable für den späteren Content und eine Anweisung in der \score-Umgebung:
pianoDynamics = { }
...
\new Dynamics { \pianoDynamics }
...
Damit ist unser Grundgerüst im großen und ganzen fertig. Jetzt geht es jetzt darum, den Inhalt einzugeben.
Downloads: Quelltext - PDF-Datei
\version "2.24.4" \header { title = "It’s a long, long way to Tipperary" } singer = \relative c'' { c } lyricsLineOne = \lyricmode { "" } pianoUpper = \relative c'' { } pianoDynamics = { } pianoLower = \relative c' { } \book { \paper { } \score { << \new Staff = "singer" \with { instrumentName = #"Voice" } { \new Voice = "singerVoice" { \singer } } \new Lyrics \lyricsto "singerVoice" { \lyricsLineOne } \new PianoStaff \with { instrumentName = #"Piano " } { \new Staff = "pianoUpper" { \new Voice { \pianoUpper } } \new Dynamics { \pianoDynamics } \new Staff = "pianoLower" { \new Voice { \pianoLower } } } >> \layout { } } }
Zurück zum zweiten Teil: Das Grundgerüst einer lilypond-Datei
Weiter geht es im vierten Teil: Musik eingeben