lilypond-user
[Top][All Lists]
Advanced

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

Re: In divisi lyrics, \skip in the top line skips two notes and causes b


From: David Kastrup
Subject: Re: In divisi lyrics, \skip in the top line skips two notes and causes bottom line to skip one note
Date: Fri, 17 Jun 2016 21:47:45 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1.50 (gnu/linux)

Edward Usher <address@hidden> writes:

> A question on the following MWE:
>
> \version "2.18.2"
> \score {
>   <<
>     \new Voice = "melody" {
>       \time 3/4
>       c'4 c'4 c'4 | c'4 c'4 c'4 | c'2. |
>     }
>     \new Lyrics \lyricsto "melody" {
>       <<
>         { a \skip 1 c }
>         \new Lyrics {
>           \set associatedVoice = "melody"
>           a b c d
>         }
>       >>
>     }
>   >>
> }
>
> I expected the notes to be labeled "a [gap] c [gap] [gap] [gap] [gap]" on
> the first line and "a b c d [gap] [gap] [gap]" on the second.  But the
> actual output is "a [gap] [gap] c [gap] [gap] [gap]" and "a b c [gap] d
> [gap] [gap]".
>
> Is there an error in the MWE, or is this a bug?  If a bug, is there a
> workaround?

I don't even know what you are trying to achieve by nesting Lyrics (with
associated Voice, to boot) inside of \lyricsto.

\lyricsto synchronizes its context to the associated voice.  Now here
its context contains of _parallel_ music, so the synchronization is
... interesting.

All of your lyrics have a default duration of the last entered duration,
which is 2. (the last preceding duration).

So in the first step, we are synchronizing two "a2." notes.

Now the inner Lyrics are synchronized separately, so with the next note,
both "b2." and "\skip 1" are emitted.  So the next event in that common
stream is after the "b2." and is the "c2." in the lower voice.  Which
means that the next event is the "c2." in the upper voice.  The upper
voice is now finished, so only the lower voice now needs to be tagged
off.  That's a single "d2." and then everything is over.

This was somewhat straightforward to pick apart.  However, this nested
construct has a lot more potential for weirdness, and adding more
material here is likely to lead to stranger results.

Changing the \skip 1 to \skip 2. presumably leads to the result you
think you should see, with both c on top of each other.  Changing it to
2 puts the top c before the bottom one.

Of course the solution is _not_ to put simultaneous music under the
control of \lyricsto, or the relation of "simultaneousness" will have an
effect _before_ \lyricsto is applied for making the combined lyrics
match the melody.

-- 
David Kastrup



reply via email to

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