Vocal ensemble template with automatic piano reduction
In diesem Beispiel wird ein automatischer Klavierauszug zu der
Chorpartitur hinzugefügt. Das zeigt eine der Stärken von LilyPond
– man kann eine Variable mehr als einmal benutzen. Wenn Sie
irgendeine Änderung an einer Chorstimme vornehmen, (etwa
tenorMusic), verändert sich auch der Klavierauszug entsprechend.
\paper {
top-system-spacing.basic-distance = 10
score-system-spacing.basic-distance = 20
system-system-spacing.basic-distance = 20
last-bottom-spacing.basic-distance = 10
}
global = {
\key c \major
\time 4/4
}
sopMusic = \relative {
c''4 c c8[( b)] c4
}
sopWords = \lyricmode {
hi hi hi hi
}
altoMusic = \relative {
e'4 f d e
}
altoWords =\lyricmode {
ha ha ha ha
}
tenorMusic = \relative {
g4 a f g
}
tenorWords = \lyricmode {
hu hu hu hu
}
bassMusic = \relative {
c4 c g c
}
bassWords = \lyricmode {
ho ho ho ho
}
\score {
<<
\new ChoirStaff <<
\new Lyrics = "sopranos" \with {
% This is needed for lyrics above a staff
\override VerticalAxisGroup.staff-affinity = #DOWN
}
\new Staff = "women" <<
\new Voice = "sopranos" { \voiceOne << \global \sopMusic >> }
\new Voice = "altos" { \voiceTwo << \global \altoMusic >> }
>>
\new Lyrics = "altos"
\new Lyrics = "tenors" \with {
% This is needed for lyrics above a staff
\override VerticalAxisGroup.staff-affinity = #DOWN
}
\new Staff = "men" <<
\clef bass
\new Voice = "tenors" { \voiceOne << \global \tenorMusic >> }
\new Voice = "basses" { \voiceTwo << \global \bassMusic >> }
>>
\new Lyrics = "basses"
\context Lyrics = "sopranos" \lyricsto "sopranos" \sopWords
\context Lyrics = "altos" \lyricsto "altos" \altoWords
\context Lyrics = "tenors" \lyricsto "tenors" \tenorWords
\context Lyrics = "basses" \lyricsto "basses" \bassWords
>>
\new PianoStaff <<
\new Staff <<
\set Staff.printPartCombineTexts = ##f
\partCombine
<< \global \sopMusic >>
<< \global \altoMusic >>
>>
\new Staff <<
\clef bass
\set Staff.printPartCombineTexts = ##f
\partCombine
<< \global \tenorMusic >>
<< \global \bassMusic >>
>>
>>
>>
}