Menu

#2450 horizontal spacing should be uniform regardless of Lyrics

Accepted
nobody
None
Ugly
2015-07-01
2012-03-30
Anonymous
No

Originally created by: *anonymous

Originally created by: janek.li...@gmail.com
Originally owned by: janek.li...@gmail.com

Current Lily behavior is to calculate horizontal spacing of notes as if there were no Lyrics, and then stretch places where there's not enough space.  This results in serious inconsistencies in spacing (especially when there are lots of long syllabes, in particular on short note durations).

I suggest a following solution: calculate how long lyric syllabes are compared to the theoretical widths of their respective notes (using base shortest duration) and adjusting base shortest duration so that average syllabe/notehead ratio is close to 1 (either for the whole SpacingSection, or that particular system, or at least measure).

Example:

\relative f' { \repeat unfold 8 a4 }
\addlyrics { \repeat unfold 4 la \repeat unfold 4 straight }

the common shortest duration is a quarter note and it would be 3 staffspaces wide by default (that is, the distance between centers of consecutive noteheads would be 3 ss).  Four lyric syllabes are short and fit the default spacing perfectly, while another four have a length of 9 staffspaces - 3 times more than the width of the notes they're attached to.  Therefore, average syllabe_length/note_width ratio is 2.  Thus, the default note spacing should be changed to be 2 times wider, as in the suggested image - it is still necessary to stretch horizontal spacing in some places, but not that much.

This issue is a part of the Lyrics Project.  See related entries:
issue 2450
issue 2451
issue 2452
issue 2453
issue 2454
issue 2455
issue 2456
issue 2457
issue 2458
issue 2459
issue 2460
issue 2461
issue 2462

1 Attachments

Related

Issues: #2450
Issues: #2451
Issues: #2452
Issues: #2453
Issues: #2454
Issues: #2455
Issues: #2456
Issues: #2457
Issues: #2458
Issues: #2459
Issues: #2460
Issues: #2461
Issues: #2462
Issues: #2463

Discussion

  • Google Importer

    Google Importer - 2012-03-30

    Originally posted by: tdanielsmusic

    What if base-shortest-duration is already being controlled by the user for some other purpose?  I think you would need an internal property for this.

     
  • Google Importer

    Google Importer - 2012-03-30

    Originally posted by: janek.li...@gmail.com

    Yes, you're right.
    And what about the "scope" of the correction?  I'm not sure if it should affect whole spacingSection.  Look at this situation: http://lilypond-stuff.1065243.n5.nabble.com/file/n5608287/whole_section.png - it's highly artificial, but something similar could appear in a real score.  In this example spacing in measures and systems is perfectly consistent, but it's totally uneven between systems.  Should it be stretched to be more even?  It would definitely look better, but the music would be spaced quite loosely and take much more systems.

     
  • Google Importer

    Google Importer - 2015-07-01

    Originally posted by: simon.al...@mail.de

    The issue summary sounds so drastic. We should aim for a compromise between taking lyrics into account for spacing and not distorting musical relations. In other words: I’d rather follow issue 2456 than this one.

     
  • Google Importer

    Google Importer - 2015-07-01

    Originally posted by: kie...@alumni.rice.edu

    I think it's unlikely that issue 2456 will be sufficient in all cases. Ultimately, we just need more tools at our disposal to deal with music+lyrics more automatically. In my scores, music-lyric interaction is one of the two or three biggest items in terms of time required to tweak — which is why I offered to sponsor Janek and the GSoC project on this. Perhaps we can come up with a single heuristic which can get us close (i.e., much closer than Lily does now), and a couple of functions (akin to the ones for proportional notation) that could do most of the rest of the heavy lifting?

     

    Related

    Issues: #2456