Next: , Previous: String quartet, Up: Templates


D.4 Vocal ensembles

D.4.1 SATB vocal score

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)
           }
        }
     }

[image of music]

D.4.2 SATB vocal score and automatic piano reduction

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)
         }
       }
     }

[image of music]

D.4.3 SATB with aligned contexts

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)
          }
       }
     } 

[image of music]



Next: , Previous: String quartet, Up: Templates

This page is for LilyPond-2.10.33 (stable-branch).

Report errors to http://post.gmane.org/post.php?group=gmane.comp.gnu.lilypond.bugs.