lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Using \lyricsto for small variation in repeats to match lyrics


From: David Bowen
Subject: Re: Using \lyricsto for small variation in repeats to match lyrics
Date: Mon, 26 Aug 2019 23:48:04 -0500

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

On Mon, Aug 26, 2019 at 8:13 PM Aaron Hill <address@hidden> wrote:
On 2019-08-26 3:34 pm, Michael Wagner wrote:
> When I am entering music into lilypond, I come across situations where
> a measure or two of a repeated bit of music has a slight melodic
> variation and I wold like to associate the appropriate lyrics with
> that measure.
> [ . . . ]
> I might be able to a align the lyrics with the appropriate voice using
> skips, etc., but it seems as though using \lyricsto would be more
> elegant.
> The examples in the manual that use \lyricsto seem to be assigning the
> equivalent of a whole verse to a voice. Can I align a part of a verse
> to a voice?

As far as I can tell, \lyricsto does not have a direct way to specify a
limited scope, since you only get to provide the name of the context. 
To restrict alignment to only a particular subset of notes within a
Voice, you would need to explicitly separate out those notes into their
own named context to use with \lyricsto.

LilyPond provides a NullVoice context that makes it easy to include such
an extraction of notes to be used just for timing but not display.  I
use this feature quite a bit, mainly because I also use \partcombine
which is not compatible with \lyricsto; but that is another story.


-- Aaron Hill

_______________________________________________
lilypond-user mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/lilypond-user

reply via email to

[Prev in Thread] Current Thread [Next in Thread]