musescore / MuseScore

MuseScore is an open source and free music notation software. For support, contribution, bug reports, visit MuseScore.org. Fork and make pull requests!
https://musescore.org
Other
12.07k stars 2.6k forks source link

Less-restrictive horizontal lyric spacing #17423

Open peteranglea opened 1 year ago

peteranglea commented 1 year ago

Your idea

Allow lyric syllables to observe tighter, less restrictive horizontal spacing.

Problem to be solved

Often, when engraving music with multiple verses/stanzas, syllables of varying widths in different stanzas present a horizontal spacing issue. First, the longest syllable in a given beat sets the boundary box for all the verses. Second, syllables are not allowed to escape the boundary of the measure in which they are placed.

This generally results in wider spacing than desired since no "overlap" is allowed. This is particularly problematic when engraving hymns, as line width is often at a premium and there are often several verses.

Screenshot 2023-04-30 at 8 41 45 PM

Here is an approximation of what a better solution might look like. The basic idea is that syllables can "overlap" and not have such a rigidly defined outer boundary.

Screenshot 2023-04-30 at 8 42 09 PM

Prior art

I have engraved well over 100 hymns in Lilypond and, whereas their lyric spacing algorithm isn't perfect either, it does observe more intelligent horizontal spacing by default. At a minimum, the measure boundaries do not interfere (see the syllable "mount")

Screenshot 2023-04-30 at 9 16 53 PM

MuseScore here doesn't let a syllable escape the measure.

Screenshot 2023-04-30 at 9 17 18 PM

Additional context

Related bug report here on musescore.com. https://musescore.org/en/node/338887

oktophonie commented 1 year ago

Oh, it's very much on the radar, don't worry! The fact that the lyrics can't by default extend outside the confines of the bar is a unfortunate legacy of how this system was designed some time ago. We'll rip it out and fix it.

peteranglea commented 1 year ago

Awesome! Is there a roadmap I could follow along with (simply out of curiosity)?

RobFog commented 1 year ago

I follow https://github.com/musescore/MuseScore/projects.