4 lsrtags = "automatic-notation, keyboards, template, vocal-music"
7 This template adds an automatic piano reduction to the standard SATB
8 vocal score demonstrated in @qq{Vocal ensemble template}. This
9 demonstrates one of the strengths of LilyPond – you can use a music
10 definition more than once. If any changes are made to the vocal notes
11 (say, @code{tenorMusic}), then the changes will also apply to the piano
15 doctitle = "Vocal ensemble template with automatic piano reduction"
18 top-system-spacing.basic-distance = #10
19 score-system-spacing.basic-distance = #20
20 system-system-spacing.basic-distance = #20
21 last-bottom-spacing.basic-distance = #10
29 sopMusic = \relative c'' {
32 sopWords = \lyricmode {
36 altoMusic = \relative c' {
39 altoWords =\lyricmode {
43 tenorMusic = \relative c' {
46 tenorWords = \lyricmode {
50 bassMusic = \relative c {
53 bassWords = \lyricmode {
60 \new Lyrics = "sopranos" \with {
61 % This is needed for lyrics above a staff
62 \override VerticalAxisGroup.staff-affinity = #DOWN
64 \new Staff = "women" <<
65 \new Voice = "sopranos" { \voiceOne << \global \sopMusic >> }
66 \new Voice = "altos" { \voiceTwo << \global \altoMusic >> }
69 \new Lyrics = "tenors" \with {
70 % This is needed for lyrics above a staff
71 \override VerticalAxisGroup.staff-affinity = #DOWN
76 \new Voice = "tenors" { \voiceOne << \global \tenorMusic >> }
77 \new Voice = "basses" { \voiceTwo << \global \bassMusic >> }
79 \new Lyrics = "basses"
80 \context Lyrics = "sopranos" \lyricsto "sopranos" \sopWords
81 \context Lyrics = "altos" \lyricsto "altos" \altoWords
82 \context Lyrics = "tenors" \lyricsto "tenors" \tenorWords
83 \context Lyrics = "basses" \lyricsto "basses" \bassWords
87 \set Staff.printPartCombineTexts = ##f
89 << \global \sopMusic >>
90 << \global \altoMusic >>
94 \set Staff.printPartCombineTexts = ##f
96 << \global \tenorMusic >>
97 << \global \bassMusic >>