Should I stop using barchecks in lyrics?

classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|

Should I stop using barchecks in lyrics?

Colin Tennyson
The reason I included pipe symbols in the lyrics is that it helps me keep track.

The problem is: the Lilypond music interpreter issues many erroneous barcheck warnings for the lyrics sections. In the file I uploaded (Dormend'un giorn'a baia by Verdelot, choral, 4 voices), there are 11 of them.

Dormend__a_minor.ly

I noticed a pattern in the erroneous-barcheck-in-lyrics warnings. They occur when at the corresponding position in the staff a tie extends from one bar to the next.
(One other case: an erroneous-barcheck-warning-in-the-lyrics at a position where there are rests both left and right of that bar line.)


My hypothesis:
The bar checking algorithm for the lyrics does not take ties into account.


To find out whether the syllable placing algorithm is in any way dependent on the bar checks I removed all of the pipe symbols from one section of lyrics. The syllables still lined up correctly. I infer that the syllable placing uses only the hyphenation and the melisma-indicating underscores.

I would prefer using barchecks in the lyrics, it helps me keep track. But the erroneous barcheck warnings are very awkward.

The issue may be related to this one.
http://lilypond.1069038.n5.nabble.com/Bar-check-warning-td47608.html


Can you advise me how to proceed?
Should I stop using barchecks in lyrics?
Reply | Threaded
Open this post in threaded view
|

Re: Should I stop using barchecks in lyrics?

David Kastrup
Colin Tennyson <[hidden email]> writes:

> The reason I included pipe symbols in the lyrics is that it helps me keep
> track.
>
> The problem is: the Lilypond music interpreter issues many erroneous
> barcheck warnings for the lyrics sections. In the file I uploaded
> (Dormend'un giorn'a baia by Verdelot, choral, 4 voices), there are 11 of
> them.
>
> Dormend__a_minor.ly
> <http://lilypond.1069038.n5.nabble.com/file/n156790/Dormend__a_minor.ly>  
>
> I noticed a pattern in the erroneous-barcheck-in-lyrics warnings. They occur
> when at the corresponding position in the staff a tie extends from one bar
> to the next.
> (One other case: an erroneous-barcheck-warning-in-the-lyrics at a position
> where there are rests both left and right of that bar line.)
>
>
> My hypothesis:
> The bar checking algorithm for the lyrics does not take ties into
> account.

There is no "bar checking algorithm for the lyrics": it is the normal
bar check.  Lyric ties are articulations: they are just attached to the
preceding notes.  They don't have a length of themselves.

> To find out whether the syllable placing algorithm is in any way dependent
> on the bar checks

Nothing is _dependent_ on the bar checks (I think there may be some
resynchronization option for when a warning is triggered, but it is off
by default).

> Can you advise me how to proceed?
> Should I stop using barchecks in lyrics?

At least with ties, they won't work.  It's conceivable that you can put
in \skip ... after a lyric tie in order to move forward to the time
where a bar check makes sense, but I haven't tried it, and it may well
throw off note/lyric synchronization altogether.

--
David Kastrup

_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|

Re: Should I stop using barchecks in lyrics?

Trevor Daniels
In reply to this post by Colin Tennyson

Colin Tennyson wrote Tuesday, December 31, 2013 2:13 PM

> The problem is: the Lilypond music interpreter issues many erroneous
> barcheck warnings for the lyrics sections.

> I noticed a pattern in the erroneous-barcheck-in-lyrics warnings. They occur
> when at the corresponding position in the staff a tie extends from one bar
> to the next.
> (One other case: an erroneous-barcheck-warning-in-the-lyrics at a position
> where there are rests both left and right of that bar line.)

This is a bug (IMO), first noticed in 2006, and still outstanding:

http://code.google.com/p/lilypond/issues/detail?id=99

If you'd like to use bar checks in lyrics simply remove any that give
erroneous warnings (after checking they are erroneous of course).
Although I gave up using them as it is easy to check lyric placement
by inspecting the score.

Trevor
_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|

Re: Should I stop using barchecks in lyrics?

David Kastrup
"Trevor Daniels" <[hidden email]> writes:

> Colin Tennyson wrote Tuesday, December 31, 2013 2:13 PM
>
>> The problem is: the Lilypond music interpreter issues many erroneous
>> barcheck warnings for the lyrics sections.
>
>> I noticed a pattern in the erroneous-barcheck-in-lyrics warnings. They occur
>> when at the corresponding position in the staff a tie extends from one bar
>> to the next.
>> (One other case: an erroneous-barcheck-warning-in-the-lyrics at a position
>> where there are rests both left and right of that bar line.)
>
> This is a bug (IMO), first noticed in 2006, and still outstanding:
>
> http://code.google.com/p/lilypond/issues/detail?id=99
>
> If you'd like to use bar checks in lyrics simply remove any that give
> erroneous warnings (after checking they are erroneous of course).
> Although I gave up using them as it is easy to check lyric placement
> by inspecting the score.

Or don't use \addlyrics/\lyricsto but rather time your lyrics
explicitly.  That's also a lot more robust against juggling Voices,
adding stanzas and so on.

--
David Kastrup

_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|

Re: Should I stop using barchecks in lyrics?

Trevor Daniels

David Kastrup wrote Tuesday, December 31, 2013 3:35 PM

> Or don't use \addlyrics/\lyricsto but rather time your lyrics
> explicitly.

And then you'll see one reason why the bar checks are failing - when
the lyric duration extends over a bar line, there is nowhere to place the
check.

Trevor


_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|

Re: Should I stop using barchecks in lyrics?

janek.lilypond
In reply to this post by David Kastrup
Hi,

2013/12/31 David Kastrup <[hidden email]>:
> "Trevor Daniels" <[hidden email]> writes:
>> If you'd like to use bar checks in lyrics simply remove any that give
>> erroneous warnings (after checking they are erroneous of course).
>> Although I gave up using them as it is easy to check lyric placement
>> by inspecting the score.
>
> Or don't use \addlyrics/\lyricsto but rather time your lyrics
> explicitly.  That's also a lot more robust against juggling Voices,
> adding stanzas and so on.

Colin, please **don't** use explicit lyrics timing.  Alignment of
unassociated lyrics (i.e. lyrics that don't use \addlyrics/\lyricsto)
is broken, and such scores would look ugly and unprofessional.

David, i apologize for butting in like that, but i believe that we
shouldn't advocate using features that are broken.

I wrote a patch fixing this issue back in March (it's a part of
http://code.google.com/p/lilypond/issues/detail?id=3239), but it was
put on hold.  Now that 2.18 is out, i'd like to get back to it - if
i'll have time...

best,
Janek

_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|

Re: Should I stop using barchecks in lyrics?

Colin Tennyson
Janek Warchoł wrote
Colin, don't use explicit lyrics timing.  Alignment of
unassociated lyrics (i.e. lyrics that don't use \addlyrics/\lyricsto)
is broken, [...]
David, i apologize for butting in like that, but i believe that we
shouldn't advocate using features that are broken.
Janek, I had read about explicit timing in the documentation, but I never considered using it.

Minimal case:

This triggers an erroneous barcheck warning:
<<
  \new Staff
  <<
    \new Voice = "cantus" \relative c''        { c4 c4 c4 c4~ | c4 c4 c4 c4 | c4 c4 c4 c4 | }
    \lyricsto "cantus" \new Lyrics \lyricmode { do do do do  |    do do do | do do do do | }
  >>
>>


Removing the pipe symbol that is located at the position that corresponds to the tie that straddles the bar line:
<<
  \new Staff
  <<
    \new Voice = "cantus" \relative c''        { c4 c4 c4 c4~ | c4 c4 c4 c4 | c4 c4 c4 c4 | }
    \lyricsto "cantus" \new Lyrics \lyricmode { do do do do       do do do | do do do do | }
  >>
>>

My intended workaround: a pipe symbol, visible to the human, ignored by the machine
<<
  \new Staff
  <<
    \new Voice = "cantus" \relative c''        { c4 c4 c4 c4~ | c4 c4 c4 c4 | c4 c4 c4 c4 | }
    \lyricsto "cantus" \new Lyrics \lyricmode { do do do do %{|%} do do do | do do do do | }
  >>
>>


I can't resist speculating what is happening.

Given:
The bar check algoritm for the staff checks whether the sum of the lengths of the notes in each bar equals the duration of the bar.

Supposition:
- LilyPond first places the syllables
- Given their positions Lilypond figures out the duration of each syllable
- Lilypond checks whether the sum of the syllable durations matches the duration of the bar

When there is a tie in the _Staff_ , the sum of the durations of the syllables in the _next_ bar comes up short.

Fortunately the problem can be worked around by omitting the pipe symbol in the lyrics at the spot where the tie _in the staff_ straddles the bar line.

(I'm emphasizing the bit about ties _in the staff_ because David Kastrup somehow ended up writing about ties in the lyrics, which are handled perfectly by LilyPond.)


Reply | Threaded
Open this post in threaded view
|

Re: Should I stop using barchecks in lyrics?

David Kastrup
In reply to this post by janek.lilypond
Janek Warchoł <[hidden email]> writes:

> Hi,
>
> 2013/12/31 David Kastrup <[hidden email]>:
>> "Trevor Daniels" <[hidden email]> writes:
>>> If you'd like to use bar checks in lyrics simply remove any that give
>>> erroneous warnings (after checking they are erroneous of course).
>>> Although I gave up using them as it is easy to check lyric placement
>>> by inspecting the score.
>>
>> Or don't use \addlyrics/\lyricsto but rather time your lyrics
>> explicitly.  That's also a lot more robust against juggling Voices,
>> adding stanzas and so on.
>
> Colin, please **don't** use explicit lyrics timing.  Alignment of
> unassociated lyrics (i.e. lyrics that don't use \addlyrics/\lyricsto)
> is broken, and such scores would look ugly and unprofessional.
>
> David, i apologize for butting in like that, but i believe that we
> shouldn't advocate using features that are broken.

I did _not_ say he should use unassociated Lyrics.  You can perfectly
well associate explicitly timed lyrics: associating a Lyrics context
does not require \addlyrics/\lyricsto.  The latter set the respective
associated voice, but one can perfectly well set it explicitly.

--
David Kastrup

_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|

Re: Should I stop using barchecks in lyrics?

janek.lilypond
Sorry for delay..

2013/12/31 David Kastrup <[hidden email]>:

> Janek Warchoł <[hidden email]> writes:
>
>> Hi,
>>
>> 2013/12/31 David Kastrup <[hidden email]>:
>>> "Trevor Daniels" <[hidden email]> writes:
>>>> If you'd like to use bar checks in lyrics simply remove any that give
>>>> erroneous warnings (after checking they are erroneous of course).
>>>> Although I gave up using them as it is easy to check lyric placement
>>>> by inspecting the score.
>>>
>>> Or don't use \addlyrics/\lyricsto but rather time your lyrics
>>> explicitly.  That's also a lot more robust against juggling Voices,
>>> adding stanzas and so on.
>>
>> Colin, please **don't** use explicit lyrics timing.  Alignment of
>> unassociated lyrics (i.e. lyrics that don't use \addlyrics/\lyricsto)
>> is broken, and such scores would look ugly and unprofessional.
>>
>> David, i apologize for butting in like that, but i believe that we
>> shouldn't advocate using features that are broken.
>
> I did _not_ say he should use unassociated Lyrics.  You can perfectly
> well associate explicitly timed lyrics: associating a Lyrics context
> does not require \addlyrics/\lyricsto.  The latter set the respective
> associated voice, but one can perfectly well set it explicitly.

I didn't realize that one can do this! I think i misread the
documentation. I apologize for the confusion and for a false
accusation.
best
janek

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