LilyPond: Melismatic syllables

• Dec 21, 2009 - 00:04
Type
Functional
Severity
3
Status
won't fix
Project

Steps to reproduce bug
1. Open attached file: "lyric - melismatic syllables.mscz". Notice that some syllables span more than one note
2. Export to LilyPond

Expected output: Lar -- _ go_al fac -- to -- _ tum del -- la cit -- tà

Actual output: Lar -- go_al fac -- to -- tum del -- la cit -- tà

Discussion: The LilyPond source needs to add a underscore with spaces around it ( _ ) for notes that don't have a lyric syllable directly underneath. This step is necessary regardless of slurs or ties because of the following line in the LilyPond source: \set Score.melismaBusyProperties = #'()

MuseScore version: r.2493 self-built

(Operating System: Windows XP)


Comments

Severity

What if we delete "\set Score.melismaBusyProperties = #'()" ?

The "actual output" above then gives a more correct lilypond output.
I have had the impression (by reading lyrics.h and exportxml.cpp) that
"if ((*lix)->endTick() > 0) " (exportly.cpp approx line 3554)
means that the syllable does not end on this note, but on a later one. So I have tried (not uploaded) to let this be a precondition for putting the adequate " _ " in the output file. But in the example above the endTick() is always ==0.

Olav Gundersen

Removing \set Score.melismaBusyProperties = #'() would work for simple scores with all the slurs in place but there are occasions when we can't rely on slurs, for example if syllables differ between multiple stanzas, if there is an instrumental section with no lyrics, or if the user doesn't bother to write in the slurs.

From looking at the exportxml.cpp code it looks like if ((*lix)->endTick() > 0) only tests whether the syllable should have an extender underline (see "Syllables can be extended by an underline" in lyrics ).

The lilypond export should add a space-underscore-space (" _ ") for each chord that does not have a lyric syllable attached to it but is in a voice that contains lyrics. I do not know the MuseScore code base well enough to detect whether a chord doesn't have a lyric syllable associated with it and put the " _ " in the right place.

Severity
Status (old) active won't fix

Due to a lack of support, LilyPond export has been removed for the next version.

Users could instead use MusicXML export and MusicXML2Ly.