Next: Ancient notation templates, Previous: String quartet, Up: Templates
Here is a standard four-part SATB vocal score. With larger ensembles, it's often useful to include a section which is included in all parts. For example, the time signature and key signatures are almost always the same for all parts.
\version "2.10.10"
global = {
\key c \major
\time 4/4
}
sopMusic = \relative c'' {
c4 c c8[( b)] c4
}
sopWords = \lyricmode {
hi hi hi hi
}
altoMusic = \relative c' {
e4 f d e
}
altoWords =\lyricmode {
ha ha ha ha
}
tenorMusic = \relative c' {
g4 a f g
}
tenorWords = \lyricmode {
hu hu hu hu
}
bassMusic = \relative c {
c4 c g c
}
bassWords = \lyricmode {
ho ho ho ho
}
\score {
\new ChoirStaff <<
\new Lyrics = sopranos { s1 }
\new Staff = women <<
\new Voice =
"sopranos" { \voiceOne << \global \sopMusic >> }
\new Voice =
"altos" { \voiceTwo << \global \altoMusic >> }
>>
\new Lyrics = "altos" { s1 }
\new Lyrics = "tenors" { s1 }
\new Staff = men <<
\clef bass
\new Voice =
"tenors" { \voiceOne <<\global \tenorMusic >> }
\new Voice =
"basses" { \voiceTwo <<\global \bassMusic >> }
>>
\new Lyrics = basses { s1 }
\context Lyrics = sopranos \lyricsto sopranos \sopWords
\context Lyrics = altos \lyricsto altos \altoWords
\context Lyrics = tenors \lyricsto tenors \tenorWords
\context Lyrics = basses \lyricsto basses \bassWords
>>
\layout {
\context {
% a little smaller so lyrics
% can be closer to the staff
\Staff
\override VerticalAxisGroup #'minimum-Y-extent = #'(-3 . 3)
}
}
}
This template adds an automatic piano reduction to the SATB vocal score. This demonstrates one of the strengths of LilyPond – you can use a music definition more than once. If you make any changes to the vocal notes (say, tenorMusic), then the changes will also apply to the piano reduction.
\version "2.10.10"
global = {
\key c \major
\time 4/4
}
sopMusic = \relative c'' {
c4 c c8[( b)] c4
}
sopWords = \lyricmode {
hi hi hi hi
}
altoMusic = \relative c' {
e4 f d e
}
altoWords =\lyricmode {
ha ha ha ha
}
tenorMusic = \relative c' {
g4 a f g
}
tenorWords = \lyricmode {
hu hu hu hu
}
bassMusic = \relative c {
c4 c g c
}
bassWords = \lyricmode {
ho ho ho ho
}
\score {
<<
\new ChoirStaff <<
\new Lyrics = sopranos { s1 }
\new Staff = women <<
\new Voice =
"sopranos" { \voiceOne << \global \sopMusic >> }
\new Voice =
"altos" { \voiceTwo << \global \altoMusic >> }
>>
\new Lyrics = "altos" { s1 }
\new Lyrics = "tenors" { s1 }
\new Staff = men <<
\clef bass
\new Voice =
"tenors" { \voiceOne <<\global \tenorMusic >> }
\new Voice =
"basses" { \voiceTwo <<\global \bassMusic >> }
>>
\new Lyrics = basses { s1 }
\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 >>
>>
>>
>>
\layout {
\context {
% a little smaller so lyrics
% can be closer to the staff
\Staff
\override VerticalAxisGroup #'minimum-Y-extent = #'(-3 . 3)
}
}
}
Here all the lyrics lines are placed using alignAboveContext
and alignBelowContext.
\version "2.10.10"
global = {
\key c \major
\time 4/4
}
sopMusic = \relative c'' {
c4 c c8[( b)] c4
}
sopWords = \lyricmode {
hi hi hi hi
}
altoMusic = \relative c' {
e4 f d e
}
altoWords =\lyricmode {
ha ha ha ha
}
tenorMusic = \relative c' {
g4 a f g
}
tenorWords = \lyricmode {
hu hu hu hu
}
bassMusic = \relative c {
c4 c g c
}
bassWords = \lyricmode {
ho ho ho ho
}
\score {
\new ChoirStaff <<
\new Staff = women <<
\new Voice =
"sopranos" { \voiceOne << \global \sopMusic >> }
\new Voice =
"altos" { \voiceTwo << \global \altoMusic >> }
>>
\new Lyrics \with {alignAboveContext=women} \lyricsto sopranos \sopWords
\new Lyrics \with {alignBelowContext=women} \lyricsto altos \altoWords
% we could remove the line about this with the line below, since we want
% the alto lyrics to be below the alto Voice anyway.
% \new Lyrics \lyricsto altos \altoWords
\new Staff = men <<
\clef bass
\new Voice =
"tenors" { \voiceOne <<\global \tenorMusic >> }
\new Voice =
"basses" { \voiceTwo <<\global \bassMusic >> }
>>
\new Lyrics \with {alignAboveContext=men} \lyricsto tenors \tenorWords
\new Lyrics \with {alignBelowContext=men} \lyricsto basses \bassWords
% again, we could replace the line above this with the line below.
% \new Lyrics \lyricsto basses \bassWords
>>
\layout {
\context {
% a little smaller so lyrics
% can be closer to the staff
\Staff
\override VerticalAxisGroup #'minimum-Y-extent = #'(-3 . 3)
}
}
}
\score {
\new ChoirStaff <<
\new Staff = women <<
\new Voice =
"sopranos" { \voiceOne << \global \sopMusic >> }
\new Voice =
"altos" { \voiceTwo << \global \altoMusic >> }
>>
\new Lyrics \with {alignAboveContext=women} \lyricsto sopranos \sopWords
\new Lyrics \lyricsto altos \altoWords
\new Staff = men <<
\clef bass
\new Voice =
"tenors" { \voiceOne <<\global \tenorMusic >> }
\new Voice =
"basses" { \voiceTwo <<\global \bassMusic >> }
>>
\new Lyrics \with {alignAboveContext=men} \lyricsto tenors \tenorWords
\new Lyrics \lyricsto basses \bassWords
>>
\layout {
\context {
% a little smaller so lyrics
% can be closer to the staff
\Staff
\override VerticalAxisGroup #'minimum-Y-extent = #'(-3 . 3)
}
}
}
Next: Ancient notation templates, Previous: String quartet, Up: Templates
This page is for LilyPond-2.10.33 (stable-branch).