Minimum distance property for the lyrics

• Dec 12, 2023 - 17:27

There is a question about the "Minimum distance" property for the lyrics. Is it not implemented? I'm using musescore version 3.6.2, I'm trying to change it, and it doesn't have any effect. I would like to reduce the distance between the lyrics and the staff. I am attaching a screenshot.

Attachment Size
ScreenShot_2023-12-12_19-22-13.png 134.45 KB

Comments

This does not work, but you can change the y-offset directly below. Select all similar lyrics and change this value.

In reply to by HildeK

Yes, I know this method, but it's too inconvenient. You need to change the position for all lyrics in the line. And if the layout changes, everything will have to be repeated from the beginning. I'm looking for a more elegant solution to change the properties only in the right places.

In reply to by upx

I do not understand.
If you select all lyrics using right click and "select all similar" then all lyrics of all verses are selected and you can apply an offset. Only a few mouse clicks ...
The disadvantage is that if you use Ctrl+R to correct incorrectly placed layout elements, the offset is also reset.

Also look under "Format / Style / Text", where you can set the minimum margins for top and bottom. Perhaps this will help you.

In reply to by HildeK

To understand the elegant proper setting, see https://musescore.org/en/handbook/3/layout-and-formatting#concept2 and https://musescore.org/en/handbook/3/text-styles-and-properties

"Style for lyrics objects" Format→Style→Lyrics
"Style for text inside staff text" Format→Style→TextStyles→Staff
"Style for text inside lyrics odd lines" Format→Style→TextStyles→Lyrics odd lines
"Style for text inside lyrics even lines" Format→Style→TextStyles→Lyrics even lines

layout settings are culminative

pls try edit "Style for lyrics objects" 's "position below Y" and "min top margin"

In reply to by HildeK

I don't need to move the entire lyrics, but only in some places. Do not select "All similar", but select "More" and check the box "Same system". And repeat it in all the necessary lines. The rest of the lyrics should remain in place.
I couldn't find the property values in the styles to make it look good everywhere. In some places, manual editing is needed. On the other hand, there is a "Minimum Distance" property, which seems to be supposed to do what is needed, but it does not work (and is not even saved to a file...)

Minimum distance really isn't the right way to set this. As explained in the issue thread on GitHub, lyrics are handled specially, for good reason. The top margin sets the distance to the staff; the line height sets the distance between verses. I am not seeing the point of having a separate parameters that overrides some but not all of this.

In reply to by msfp

Okay, I'll tell you what I needed it for. I am trying to type a transcript for music recorded in Byzantine notation. The first line of the lyrics contains Byzantine neumes (using special font), the second line contains the real lyrics. The style settings mostly work well, but in some cases the Byzantine neumes are shifted down along with the lyrics because the rules of automatic placement do not allow them to move closer. They detect the intersection of the bounding boxes, although there is no real intersection with the glyph. I have marked such places in the screenshots. In some cases, existing methods work: in case (1), setting of left alignment helps, in case (2), you can add leading space for note, in case (3), the stem can be reversed. But in other cases, ready-made methods do not give a good result. I would like to allow a slight intersection of the lyrics with the notes, but not everywhere, but only in selected places.
Maybe I didn't come up with the best solution. Maybe it's better to be able to override the values of style properties "Min. top. margin" and "Min. bottom margin" for some syllables, the result should be similar. I just decided to use an already existing, but not working property.
I am attaching a test example. I don't know if it will open correctly, it needs the "UniPsaltica2" font.

In reply to by upx

I understand the idea that bounding box calculations can result in unnecessary extra space, but I'm still not understanding why you'd want to add a new parameter to the calculation rather than simply adjust the ones already present. Like, if the goal is to move a selected group of lyrics higher, why not just do that directly using their Y offset? The only downside I can see if, you might need to revisit that adjustment if the notes are later transposed. So the better solution is as you suggest - allow a per-lyric override to the min top margin. That way the distance calculation is complicated by new parameters that conflict outright with existing parameters and create confusion about their relationshion.

Long term, even better would be to make the collision detection algorithm smart enough to not just look at bounding boxes but the shapes of each glyph. Music fonts provide "cutout" settings to help with this, not sure about text fonts. Presumably there is a way but I don't know how it would work or how expensive of a calculation it might be.

In reply to by Marc Sabatella

The notes are not supposed to be transposed, but they are often edited. They are stretched or compressed, and the leading space is adjusted in order to place the songs on the page in the best possible way. The font is also adjusted, sometimes the layout breaks after that.
I'm not insisting. Perhaps the extra property is really too confusing.

In reply to by upx

Well, if a property exists (or at least is shown in the UI), it should also work. With your patch it does, IMHO less confusing than having it not work.
An alternative fix would be to remove it from the UI or at the very least disable it for those elements that don't support/need it

In reply to by Jojo-Schmitz

If it’s implemented correctly, it should only ever increase distance above and beyond the lyrics top margin, so it wouldn’t actually help with the case it was designed to solve . It would also necessarily affect distance between verses if it’s implemented consistently with other elements. So I’m still thinking this does nothing but add confusion.

In reply to by Jojo-Schmitz

I’d much rather see it removed when not applicable. As it is, this will lead to unexpected results if someone tries to decrease the lyrics top margin and can’t figure out why it isn’t working as it should and as documented, because another parameter is getting in the way. Meaning it may adversely affect existing scores too.

It’s just bad design to have two conflicting parameters control the same thing.

In reply to by upx

It’s certainly a valid question as to whether “lyrics top margin” should have been replaced long ago when minimum distance was introduced (as a style at 3.0, then as a property at 3.1). But, they do have a subtly different meaning. Minimum distance would technically affect verses spacing if interpreted the same as it is elsewhere. But there is also a separate setting for that with lyrics, and that’s a good thing, since you seldom would want to make the same adjustment to the top margin and line height simultaneously.

So a way to expose top margin as a per-element property could make sense. Or maybe there are other solutions we aren’t considering.

In reply to by Marc Sabatella

@upx Thank you for the detailed example. I see, changing style value and then offset property is actually more convoluted in case of misaligned glyph.

the new property name should suggest it has effect on position of all lyrics sharing the same system, but no effect on horizontal lyrics spacing

Do you still have an unanswered question? Please log in first to post your question.