Re: Barcheck failure warnings for lyrics in parallel mode
"Galen Menzel" writes: > On 9 Aug 2018, at 0:53, David Kastrup wrote: > > This is what I ended up doing. It’s a somewhat unsatisfying solution, > since it’s clearly something a machine could do. But it seemed to be > worth it in this case, since searching for lyrics are the easiest way > to jump to a bar without having to look up the bar number. > > There seems to be a legitimate use case here for suppressing warnings > related to only one specific voice in a parallel-music expression. Is > there a way of doing this? If not, do you think the dev team would be > open to such a feature request? I was musing over what makes sense doing here. One could omit both bar check and length check from sections only having lyric events of the same duration or some heuristic like that. But there are also skips in lyrics which need to get written with explicit duration so that's still not likely to fully do the trick. For the bar check, the best solution would be to make them work better in lyricsto-like contexts. "Better" would likely mean making sure they are not separated by a full syllable from the closest measure boundary. No idea whether that is feasible but it would be sort-of unrelated to parallelMusic. -- David Kastrup ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Barcheck failure warnings for lyrics in parallel mode
On 9 Aug 2018, at 0:53, David Kastrup wrote: "Galen Menzel" writes: On 8 Aug 2018, at 14:10, David Kastrup wrote: "Galen Menzel" writes: So basically explicit bar markings and lyrics just don’t play nicely together? And auto-length lyrics. If you give the lyric syllables explicit durations and not use \lyricsto/\addlyrics but just set associatedVoice and \lyricmode appropriately, you can write bar checks into the lyrics perfectly well. Note that bar checks indicate that your lyrics _are_ written to match a given rhythm at seminal points, so there is some motivation to either put none of the rhythm into the lyrics (and let them get autotimed using \addlyrics/lyricsto) or put all of it in and use explicit durations. Ok, that makes sense. Looks like this is just a rough edge, where the requirements of auto-length lyrics are in conflict with the requirements of parallel notation. I’ll look into explicit duration or suppressing the warning. You could just remove the bar checks from the lyrics selectively, like lyrics_b = #(map-some-music (music-type-predicate 'bar-check) lyrics_b) However, that would not get you rid of the warnings because of music with unequal length. The warnings are intended for locating problems: removing them has its own problems. Have you considered specifying your lyrics with durations, like \lyricmode { one 2. two 4 } (spaces before durations are optional)? This is what I ended up doing. It’s a somewhat unsatisfying solution, since it’s clearly something a machine could do. But it seemed to be worth it in this case, since searching for lyrics are the easiest way to jump to a bar without having to look up the bar number. There seems to be a legitimate use case here for suppressing warnings related to only one specific voice in a parallel-music expression. Is there a way of doing this? If not, do you think the dev team would be open to such a feature request? Thanks! Galen ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Barcheck failure warnings for lyrics in parallel mode
"Galen Menzel" writes: > On 8 Aug 2018, at 14:10, David Kastrup wrote: > >> "Galen Menzel" writes: >> >>> So basically explicit bar markings and lyrics just don’t play >>> nicely >>> together? >> >> And auto-length lyrics. If you give the lyric syllables explicit >> durations and not use \lyricsto/\addlyrics but just set >> associatedVoice >> and \lyricmode appropriately, you can write bar checks into the lyrics >> perfectly well. Note that bar checks indicate that your lyrics _are_ >> written to match a given rhythm at seminal points, so there is some >> motivation to either put none of the rhythm into the lyrics (and let >> them get autotimed using \addlyrics/lyricsto) or put all of it in and >> use explicit durations. > > Ok, that makes sense. Looks like this is just a rough edge, where the > requirements of auto-length lyrics are in conflict with the > requirements of parallel notation. I’ll look into explicit duration or > suppressing the warning. You could just remove the bar checks from the lyrics selectively, like lyrics_b = #(map-some-music (music-type-predicate 'bar-check) lyrics_b) However, that would not get you rid of the warnings because of music with unequal length. The warnings are intended for locating problems: removing them has its own problems. Have you considered specifying your lyrics with durations, like \lyricmode { one 2. two 4 } (spaces before durations are optional)? -- David Kastrup ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Barcheck failure warnings for lyrics in parallel mode
On 8 Aug 2018, at 14:10, David Kastrup wrote: "Galen Menzel" writes: So basically explicit bar markings and lyrics just don’t play nicely together? And auto-length lyrics. If you give the lyric syllables explicit durations and not use \lyricsto/\addlyrics but just set associatedVoice and \lyricmode appropriately, you can write bar checks into the lyrics perfectly well. Note that bar checks indicate that your lyrics _are_ written to match a given rhythm at seminal points, so there is some motivation to either put none of the rhythm into the lyrics (and let them get autotimed using \addlyrics/lyricsto) or put all of it in and use explicit durations. Ok, that makes sense. Looks like this is just a rough edge, where the requirements of auto-length lyrics are in conflict with the requirements of parallel notation. I’ll look into explicit duration or suppressing the warning. Thanks again! Best, Galen ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Barcheck failure warnings for lyrics in parallel mode
"Galen Menzel" writes: > On 7 Aug 2018, at 14:53, David Wright wrote: > >> On Tue 07 Aug 2018 at 12:30:03 (-0700), Galen Menzel wrote: >> >>> Now, although `lyrics_c` is a silly way to write a lyric line, >>> `lyrics_b` seems reasonable to me. Is there a better way to define a >>> lyric line in a `parallelMusic` definition so that lilypond doesn’t >>> complain? And if not, is there a way to suppress these barcheck >>> failure warnings? >> >> From NR §1.2.5: >> >> Note that bar check marks in lyrics are evaluated at the musical >> moment when the syllable following the check mark is processed. If >> the lyrics are associated with the notes of a voice which has a >> rest at the beginning of a bar, then no syllable can be located at >> the start of that bar and a warning will be issued if a bar check >> mark is placed in the lyrics at that position. > > So basically explicit bar markings and lyrics just don’t play nicely > together? And auto-length lyrics. If you give the lyric syllables explicit durations and not use \lyricsto/\addlyrics but just set associatedVoice and \lyricmode appropriately, you can write bar checks into the lyrics perfectly well. Note that bar checks indicate that your lyrics _are_ written to match a given rhythm at seminal points, so there is some motivation to either put none of the rhythm into the lyrics (and let them get autotimed using \addlyrics/lyricsto) or put all of it in and use explicit durations. -- David Kastrup ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Barcheck failure warnings for lyrics in parallel mode
On 7 Aug 2018, at 14:53, David Wright wrote: On Tue 07 Aug 2018 at 12:30:03 (-0700), Galen Menzel wrote: Now, although `lyrics_c` is a silly way to write a lyric line, `lyrics_b` seems reasonable to me. Is there a better way to define a lyric line in a `parallelMusic` definition so that lilypond doesn’t complain? And if not, is there a way to suppress these barcheck failure warnings? From NR §1.2.5: Note that bar check marks in lyrics are evaluated at the musical moment when the syllable following the check mark is processed. If the lyrics are associated with the notes of a voice which has a rest at the beginning of a bar, then no syllable can be located at the start of that bar and a warning will be issued if a bar check mark is placed in the lyrics at that position. So basically explicit bar markings and lyrics just don’t play nicely together? Set the context property ignoreBarChecks might work. (I'm not a parallel music writer.) I’ll look into that. Thanks for the help! Best, Galen ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Barcheck failure warnings for lyrics in parallel mode
On Tue 07 Aug 2018 at 12:30:03 (-0700), Galen Menzel wrote: > Now, although `lyrics_c` is a silly way to write a lyric line, > `lyrics_b` seems reasonable to me. Is there a better way to define a > lyric line in a `parallelMusic` definition so that lilypond doesn’t > complain? And if not, is there a way to suppress these barcheck > failure warnings? From NR §1.2.5: Note that bar check marks in lyrics are evaluated at the musical moment when the syllable following the check mark is processed. If the lyrics are associated with the notes of a voice which has a rest at the beginning of a bar, then no syllable can be located at the start of that bar and a warning will be issued if a bar check mark is placed in the lyrics at that position. Set the context property ignoreBarChecks might work. (I'm not a parallel music writer.) Cheers, David. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Barcheck failure warnings for lyrics in parallel mode
Hi all, I’m using 2.18.2. The following code compiles with no issue and correctly places the lyrics below the notes: ``` melody_a = { r2 a8 b8 r4 | r2 a8 b8 r4 } lyrics_a = \lyricmode { one two three four } \score { << \new Voice = "melody" \relative c'' \melody_a \new Lyrics \lyricsto melody \lyrics_a >> \layout { } } ``` However, I prefer to write lines in parallel, as follows: ``` \parallelMusic #'(melody_b lyrics_b) { % Bar 1 r2 a8 b8r4 | \lyricmode {one two }| % Bar 2 r2 a8b8r4 | \lyricmode {three four } | } \score { << \new Voice = "melody" \relative c'' \melody_b \new Lyrics \lyricsto melody \lyrics_b >> } ``` This typesets correctly, but lilypond complains that the bars in the parallel music don't have the same length, and issues a barcheck-failure warning. My understanding is that this parallel line is basically equivalent to defining `lyrics_b` as ``` lyrics_b = { \lyricmode { one two } | \lyricmode { three four } } ``` and indeed, if we create a non-parallel version with the lyrics defined like this, lilypond also complains: ``` melody_c = { r2 a8 b8 r4 | r2 a8 b8 r4 } lyrics_c = { \lyricmode { one two } | \lyricmode { three four } } \score { << \new Voice = "melody" \relative c'' \melody_c \new Lyrics \lyricsto melody \lyrics_c >> \layout { } } ``` Now, although `lyrics_c` is a silly way to write a lyric line, `lyrics_b` seems reasonable to me. Is there a better way to define a lyric line in a `parallelMusic` definition so that lilypond doesn’t complain? And if not, is there a way to suppress these barcheck failure warnings? I’ve attached a small example that contains these three ways of defining a lyric line. I’d appreciate any advice here! Best, Galen%{ When compiling this example, lilypond emits barcheck-failure warnings for the lyrics_b and lyrics_c lines. %} \language "english" melody_a = { r2 a8 b8 r4 | r2 a8 b8 r4 } lyrics_a = \lyricmode { one two three four } \score { << \new Voice = "melody" \relative c'' \melody_a \new Lyrics \lyricsto melody \lyrics_a >> \layout { } } \parallelMusic #'(melody_b lyrics_b) { % Bar 1 r2 a8 b8r4 | \lyricmode {one two }| % Bar 2 r2 a8b8r4 | \lyricmode {three four } | } \score { << \new Voice = "melody" \relative c'' \melody_b \new Lyrics \lyricsto melody \lyrics_b >> } melody_c = { r2 a8 b8 r4 | r2 a8 b8 r4 } lyrics_c = { \lyricmode { one two } | \lyricmode { three four } } \score { << \new Voice = "melody" \relative c'' \melody_c \new Lyrics \lyricsto melody \lyrics_c >> \layout { } } \version "2.18.2" ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user