[Top][All Lists]

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

Re: Lyrics with slightly different rhythms

From: Don Blaheta
Subject: Re: Lyrics with slightly different rhythms
Date: Tue, 15 Feb 2005 22:46:59 -0500
User-agent: Mutt/

Responding to my own post, because I figured it out, and I hate it when
I search mail archives only to find a question sans answer:

Quoth Don Blaheta:
> I'm having a hard time getting LilyPond to do just what I want here.
> ... I have a song whose rhythm varies slightly to accommodate the
> lyrics in a second verse.  
> [... various failed attempts ...]
> For my third attempt, I tried to play with the polyphony features, ...
> when I go ahead and actually name the contexts, the layout becomes
> tractable again, and the lyrics are in the right place, but we're back
> to clashing notecolumns and simply overprinting the other parts.

The key thing I missed here was that I invoked the polyphony stuff using
<< and >> but I never called \voiceOne for the main melody and \voiceTwo
(for downward stems) or \voiceThree (for upward stems) for the
alternate.  So something like

  << { a2 b2 } \\ { a4 b4 b b } >>

will generate error messages and overprint; but

  << { \voiceOne a2 b2 } \\ { \voiceThree a4 b4 b b } >>

will resolve the collisions appropriately.  (See below for a more
complete example.)

> Since I originally wanted the second part to have smaller note
> heads anyway, I thought maybe I'd just A) make them smaller and B)
> manually perturb the note heads.  But while I can use \set fontSize to
> solve the first problem, I haven't yet figured out what to poke to make
> the note head and stem all move together.  (I guess I could separately
> add the same offset to NoteHead and Stem, but that seems unsatisfactory.)

This may still be a problem if you want e.g. an a4 and an a8 to print
separate noteheads, and the solution is to override the force-hshift of
the whole NoteColumn.  A reduction of the whole solution, with alternate
rhythm, smaller notes, and offset noteheads, looks like this:
  \context Voice = "verse" {
    c4 c8 c   % etc... the "normal" music
  \context Voice = "altverse" {
    \set fontSize = #-3
    s1 | s1 | ef4 ef2. |  %only set the different notes, skip the rest
    s4*3 \once \override NoteColumn #'force-hshift = #1.1 f8 f8 |
                        %makes the first eighth note offset
Then you can use the associatedVerse trick described in the manual in
order to line lyrics up with the altverse notes instead.

Hope someone finds this helpful....

-=-Don address@hidden<>-=-
"Don't tell ME that I don't understand the difference between special
and general relativity, you uneducated turd-boy.  I'll distort your
timespace continuum into next WEEK."                    --Eva Schillace

reply via email to

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