Solo plus choir in LilyPond

For a song, I want to have first a solo part (or a unisono part), then afterwards for the refrain or for the coda a full choir part. This is how it works in Lilypond (it may not be the best solution, but one that works).

Define the solo parts:

solo = \relative a' {
   c,4 d e f
   c d e f
   \bar "||"
sololyrics =  \lyricmode {
   la la la la

Then define the choir parts just like you normally would (see this post).

And put everything together. We have one voice/staff for the solo and another for the choir. In the choir parts, add a rest for the duration of the solo part to the beginning, in the example we have two measures, so we’ll use R1*2, but if you have more, then just adapt the number:


   \new Staff <<
      \new Voice = "SoloVoice" << \global \solo >>
      \new Lyrics \lyricsto "SoloVoice" \sololyrics 

   \new ChoirStaff <<      
      \new Staff  = "Frauen"<<
         \new Voice = "Sopran" { R1*2  \voiceOne  \sopran }
         \new Voice = "Alt" { R1*2  \voiceTwo  \alt }
         \new Lyrics \lyricsto "Sopran" \refrainlyrics 
      \new Staff = "Maenner"<<
         \clef bass
         \new Voice = "Tenor" { R1*2  \voiceOne  \tenor }
         \new Voice = "Bass" {  R1*2 \voiceTwo  \bass }
         \new Lyrics \lyricsto "Tenor" \refrainlyrics 

And finally, we need to suppress the empty staves in the beginning, which is done in the layout block:

\layout {
   \context { 
      \override VerticalAxisGroup #'remove-first = ##t

Adjusting spacing in lilypond

Because I always forget how to do it, this is my default (for explanations see the Lilypond manual):

\paper {
   top-markup-spacing #'basic-distance = #5 % title to page top
   markup-system-spacing #'basic-distance = #15 % first system to title
   system-system-spacing #'basic-distance = #20 % between systems