lilypond-user
[Top][All Lists]
Advanced

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

Re: Verse-chorus-verse with repeat, multiple ending, pick-up, and varyin


From: Carl Sorensen
Subject: Re: Verse-chorus-verse with repeat, multiple ending, pick-up, and varying rhythm
Date: Mon, 21 Mar 2011 20:41:28 -0600

On 3/21/11 6:58 PM, "Christopher R. Maden" <address@hidden> wrote:

> Finally had an excuse to learn this excellent tool.  I set a simple
> four-verse English folk song, with a concertina arrangement.  It looks
> pretty darn good... but it could look better, and I couldn¹t figure out
> how to bring in those last bits.
> 
> This seems to be related to many FAQs, but I couldn¹t find clear answers
> that applied to this case.  This is with LilyPond 2.12.3, installed from
> the package manager on Ubuntu 10.04 Lucid Lynx.
> 
> Files [*]:
> <URL: http://crism.maden.org/ambletown.ly >
> <URL: http://crism.maden.org/ambletown.pdf >
> 
> 1) Verse pick-ups.  I¹d like verses 2­4 to start in the first
> alternative ending on the pickups there, rather than before the start of
> the repeat.  I tried a few things that resulted in text below the
> concertina line or duplication of the alternatives, but the only
> solution I could contemplate was to \skip the entire chorus for every
> verse.  If that¹s the only way, I¹ll do it, but surely there is a better
> way to get the lyrics to follow the actual flow of the notes.
> 

\repeat unfold 50 {\skip 1} is your friend.  I'm not sure why that's not an
acceptable way to do it.

Here's simple code that I tried to get your desired behavior.  It's
generally preferable on the -user list to make a short version of your
problem, rather than posting a link to the full file.  I think it should
work with 2.12, but I haven't tested it.

\version "2.13.46"

verseOneWords  =  \lyricmode {
    \set stanza = #"1. "
    This is the verse one
    This is the cho -- rus
  \set stanza = #"2. "
  This
  rus.
}

verseTwoWords =
  \lyricmode {
    \set stanza = #"2. "
    \skip 4
    is the verse two.
    \repeat unfold 5 {\skip 4}
    \set stanza = #"3. "
    This
}

verseThreeWords =
  \lyricmode {
    \set stanza = #"3. "
    \skip 4
    is the verse three.
    \repeat unfold 5 {\skip 4}
    \set stanza = #"4. "
    This
}

verseFourWords = \lyricmode {
    \set stanza = #"4. "
    \skip 4
    is the verse four.
}


verse = \relative c'' {
  \partial 4
  c4 |
  \repeat volta 4 {
    a4 a4 a4 a4 |
    b4 b b b |
  }
  \alternative {
    {b2 r4 c4}
    {b1}
  }
}

\score {
  <<
    \new Staff {
      \new Voice = "mel" {
        \verse
      }
    }
    \new Lyrics \lyricsto "mel" {\verseOneWords}
    \new Lyrics \lyricsto "mel" {\verseTwoWords}
    \new Lyrics \lyricsto "mel" {\verseThreeWords}
    \new Lyrics \lyricsto "mel" {\verseFourWords}
  >>
}

Here's an alternative way that uses a little more logical breakdown of the
elements.  It still needs to use the skips, but they're put into a variable.

\version "2.13.46"

verseOneWords  =  \lyricmode {
    \set stanza = #"1. "
    This is the verse one
  }

chorusWords = \lyricmode {
    This is the cho -- rus
}

chorusSkip = \lyricmode {
  \repeat unfold 5 {\skip 1}
}

verseTwoPickup = \lyricmode {
  \set stanza = #"2. "
  This
}

verseTwoWords =
  \lyricmode {
    \set stanza = #"2. "
    \skip 4
    is the verse two.
  }
verseThreePickup = \lyricmode {
    \set stanza = #"3. "
    This
}

verseThreeWords =
  \lyricmode {
    \set stanza = #"3. "
    \skip 4
    is the verse three.
}

verseFourPickup = \lyricmode {
    \set stanza = #"4. "
    This
}

verseFourWords = \lyricmode {
    \set stanza = #"4. "
    \skip 4
    is the verse four.
}

chorusEnding = \lyricmode {
  -rus.
}

structure = {
  \partial 4
  s4
  \repeat volta 4 {
    s1 | s1 |
  }
  \alternative {
    {s1}
    {s1}
  }
}

verse = \relative c'' {
  c4 |
    a4 a4 a4 a4 |
  }

chorus = \relative c'' {
    b4 b b b |
    b2 r4 c4 |
    b1
  }

\score {
  <<
    \new Staff {
      <<
        \structure
    \new Voice = "mel" {
      \verse
      \chorus
    }
      >>
    }
    \new Lyrics {
      \lyricsto "mel" {
        \verseOneWords
        \chorusWords
        \verseTwoPickup
        \chorusEnding
      }
    }
    \new Lyrics {
      \lyricsto "mel" {
        \verseTwoWords
        \chorusSkip
        \verseThreePickup
      }
    }
    \new Lyrics {
      \lyricsto "mel" {
        \verseThreeWords
        \chorusSkip
        \verseFourPickup
      }
    }
    \new Lyrics {
      \lyricsto "mel" {
        \verseFourWords
        \chorusSkip
      }
    }
  >>
}


> 2) Alternate rhythms.  There are a lot of small differences in the
> rhythms of the verses.  You can see this implicit in the current score,
> where there are same-pitch melisata and skipped notes.
> 
> I would like instead to have the first verse¹s rhythm in full-size
> notation, with variations for subsequent verses in small notes or rests.
> 

Small notes can be produced with a CueVoice.  See Formatting cue notes in
the Notation Reference, section 1.6.3 Writing Parts.

> For cases where one pitch is re-used, or where two notes are slurred for
> one syllable, I could use a dotted tie or slur.  The problem is that
> then the lyrics engine treats them as real ties or slurs, and
> mis-assigns the shorter syllables; I can then quote them to force them
> on to the same note, but then the alignment is off.

You can use phrasing slurs instead of slurs.  These will represent both a
slur and a tie.


> A way to easily
> draw the dotted ties or slurs without changing the rhythm for lyrics
> would be acceptable; a way to indicate varying rhythm on the different
> verses would be even better.

I'm not sure what this means.  What do you mean by "a way to indicate
varying rhythm on the different verses"?

HTH,

Carl




reply via email to

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