On 3/21/11 6:58 PM, "Christopher R. Maden" <[email protected]> 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


_______________________________________________
lilypond-user mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to