I use LilyPond for barbershop quartet music. The barbershop style is mostly homophonic, but there are frequent spots where one or more parts will need their own lyrics for a measure or two. I use the split voice approach mentioned above to handle those spots and it works well. For example
\version "2.19.82"
\language english
global = {
\key bf \major
\time 4/4
\accidentalStyle modern-voice-cautionary
\partial 4
}
tenorMusic = \relative c'' {
af4 | \tuplet 3/2 {g4 g g} g4 g8 a | bf f4 d8 f2 |r4 e e e |
}
tenorMusicb = \relative c'' {
g8 f g f~f4 g | bf1 ~ bf2. r4
}
tenorMusicc = \relative c'' {
g4 gf2. | bf1 \bar "|."
}
tenorWords = \lyricmode {
af- ter you've gone __ a- way, __
}
leadMusic = \relative c' {
d4 | \tuplet 3/2 {c4 c c} cs4 cs8 cs | d d4 c8 b2 | r4 d c d| ef2. ef4 | ff2 (~ ff8 ef ff4 f2.) r4 | ef4 ff2. | f1 \bar "|."
}
leadWords = \lyricmode {
You told me good- bye now it's your turn to cry, af- ter you've gone a- way __ gone a- way.
}
bariMusic = \relative c' {
bf4 | \tuplet 3/2 {bf4 bf bf} a4 a8 g | f bf4 af8 g2 | r4 bf bf bf|
}
barimusicb = \relative c' {
bf8 a bf a ~ a4 a | df2 (~df8 c df4 d2.) r4 |
}
bariMusicc = \relative c' {
c4 df2. | df1 \bar "|."
}
bariWords = \lyricmode {
af- ter you've gone __ a- way, __
}
bassMusic = \relative c {
f4 | \tuplet 3/2 {ef4 ef ef} e4 e8 e | bf bf4 f'8 d2 | r4 g g g |
}
bassMusicb = \relative c {
c2. c4 | gf'1 ( bf1 ~bf ~ bf) \bar "|."
}
bassWords = \lyricmode {
gone a- way. __
}
\score {
\new ChoirStaff <<
\new Lyrics = "tenors" \with {
% this is needed for lyrics above a staff
\override VerticalAxisGroup.staff-affinity = #DOWN
}
\new Staff = "high" <<
\clef "treble_8" {
\new Voice = "tenors" {\voiceOne \global \tenorMusic }
\new Voice = "tenb" {\voiceOne \tenorMusicb }
\new Voice = "tenc" {\voiceOne \tenorMusicc }
}
{
\new Voice = "leads" {\voiceTwo \global \leadMusic }
}
>>
\new Lyrics = "leads"
\new Lyrics = "baris" \with {
% this is needed for lyrics above a staff
\override VerticalAxisGroup.staff-affinity = #DOWN
}
\new Staff = "lo" <<
\clef bass {
\new Voice = "baris" { \voiceOne \global \bariMusic }
\new Voice = "barib" { \voiceOne \barimusicb }
\new Voice = "baric" { \voiceOne \bariMusicc }
}
{
\new Voice = "basses" {\voiceTwo \global \bassMusic }
\new Voice = "bsb" {\voiceTwo \bassMusicb }
}
>>
\new Lyrics = "basses"
\context Lyrics = "tenors" \lyricsto "tenb" \tenorWords
\context Lyrics = "leads" \lyricsto "leads" \leadWords
\context Lyrics = "baris" \lyricsto "barib" \bariWords
\context Lyrics = "basses" \lyricsto "bsb" \bassWords
>>
}
David Bowen