Vocal ensemble template with automatic piano reduction: Difference between revisions
Appearance
Import snippet from LSR |
mNo edit summary |
||
| (3 intermediate revisions by 2 users not shown) | |||
| Line 1: | Line 1: | ||
This template adds an automatic piano reduction to the standard SATB vocal score demonstrated in | This template adds an automatic piano reduction to the standard SATB vocal score demonstrated in snippet [[Vocal ensemble template]]. It demonstrates one of the strengths of LilyPond – you can use a music definition more than once. If any changes are made to the vocal notes (say, <code>tenorMusic</code>), then the changes also apply to the piano reduction. | ||
<lilypond version="2.24 | <lilypond version="2.24"> | ||
\paper { | \paper { | ||
top-system-spacing.basic-distance = 10 | top-system-spacing.basic-distance = 10 | ||
| Line 54: | Line 54: | ||
>> | >> | ||
\new Lyrics = "altos" | \new Lyrics = "altos" | ||
\new Lyrics = "tenors" \with { | \new Lyrics = "tenors" \with { | ||
% This is needed for lyrics above a staff | % This is needed for lyrics above a staff | ||
\override VerticalAxisGroup.staff-affinity = #DOWN | \override VerticalAxisGroup.staff-affinity = #DOWN | ||
} | } | ||
\new Staff = "men" << | \new Staff = "men" << | ||
\clef bass | \clef bass | ||
| Line 65: | Line 65: | ||
>> | >> | ||
\new Lyrics = "basses" | \new Lyrics = "basses" | ||
\context Lyrics = "sopranos" \lyricsto "sopranos" \sopWords | \context Lyrics = "sopranos" \lyricsto "sopranos" \sopWords | ||
\context Lyrics = "altos" \lyricsto "altos" \altoWords | \context Lyrics = "altos" \lyricsto "altos" \altoWords | ||
| Line 70: | Line 71: | ||
\context Lyrics = "basses" \lyricsto "basses" \bassWords | \context Lyrics = "basses" \lyricsto "basses" \bassWords | ||
>> | >> | ||
\new PianoStaff << | \new PianoStaff << | ||
\new Staff << | \new Staff << | ||
| Line 89: | Line 91: | ||
</lilypond> | </lilypond> | ||
[[Category:Automatic notation]] | |||
[[Category:Keyboards]] | |||
[[Category:Template]] | [[Category:Template]] | ||
[[Category:Vocal music]] | [[Category:Vocal music]] | ||
[[Category:Included in the official documentation]] | [[Category:Included in the official documentation]] | ||
[[Category:Snippet]] | |||
Latest revision as of 06:26, 13 December 2025
This template adds an automatic piano reduction to the standard SATB vocal score demonstrated in snippet Vocal ensemble template. It demonstrates one of the strengths of LilyPond – you can use a music definition more than once. If any changes are made to the vocal notes (say, tenorMusic), then the changes also apply to the piano reduction.
\version "2.24"
\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 >>
>>
>>
>>
}