How to make System Breaks stretch every measure, and not just the last ones

• Mar 21, 2021 - 12:10

Hi there!
I have this problem where a System Break just stretches the last 2 measures so it can fill the page/row. How do I make it stretch the previous measures too, so that it doesn't look too weird. This is the link to the penultimate row. And this is the last row, it just looks weird. Why not stretch all the measures up to the the system break???



See Format > Style > Page > Last system fill threshold ?

Or place a system break in the previous staff, like in measure 28, so yu end up with 4 measures in either system

What you need is proper "musical justification", which MS has not implemented. You could try asking about it in the "request new feature" place, but don't expect it to be easy.

That's pretty much AI you're talking about here, determining an ideal place to break lines that preserves maximum readability as well as most efficient use of space. Maybe someday, but I wouldn't hold my breath for expecting better results than you get yourself by carefully examination of the score. Normally the editor decided for himself/herself where to put the breaks, it's really more of an art than a science.

In reply to by Marc Sabatella

No AI at all invoked here.
Putting breaks at logical music place is still the responsibility of the human.
MuseScore already determines by itself how many "lines" it needs between 2 breaks.
Only thing it doesn't do is balance the measures on these number of lines, it just put as many as it can on each line.

In reply to by frfancha

Your statements are contradictory. If putting breaks at logical places is the responsibility of the human (or requires equivalent AI), then you can't simply "balance the measures on these number of lines". Whatever "these number of lines" is, if MuseScore does the balancing on those lines, that's the exact number of lines where you just turned your back on your responsibility and gave up control of the placement of breaks you just agreed is the responsibility of the human. if you don't place a line break on each and every line, you are giving up control. And if you give up control, it should at least be to an algorithm that can employ some AI to do a good job.

In reply to by frfancha

But even applying my RI (real intelligence) it is often difficult to get an aesthetically pleasing distribution of measures. I sometimes spend ages trying different placing of system breaks until I find the "least bad" compromise when there is no solution that is good everywhere.

What algorithm do you suggest Musescore should use? Just having similar numbers of measures per system is unlikely to work well as measures are not all the same length.

In reply to by frfancha

I am not sure that "AI" is relevant here. The point is that MS uses a greedy algorithm to chop the score into lines, because (at least to a first approximation) a greedy algorithm is good enough for (normal English at least) text justification, but not good enough for "musical justification".

What you have to do roughly is to "balance" not the number of bars, but the base ("unstretched") bar lengths. The program must at some point have for each bar its minimum length; given this data for the whole score, plus any set system and page breaks, it is a separate computation to work out the best place to break the lines. I would be interested in looking at this, because I can think of a number of possible algorithms, and also a way to visualise the result. (On the other hand I'm supposed to be getting round to doing all sorts of other things...)

In reply to by M0ment

See my response above. If all you want is balanced in some mathematical sense and don't mind making the music harder to play because you've broken a line in the middle of a complex phrase, that's relatively easy - but that is what I am saying is barely worth the effort to implement,. since the results do not help readability at all.

In reply to by Marc Sabatella

Sorry Marc but you don't understand us here.

Let's say that musicaly measures 41 up to 46 (6 in total) must appear on their own lines.

So a human must judge that and insert one line break after measure 40 and another one after measure 46.
Not the single doubt about that.
And for that part I think we all agree.

What we say is: after that musical split has been done, if MuseScore needs more than 1 line for the 6 measures it should balance them mathematically on these lines and not blindly put as many of them on the first line(s) and sometimes produce an horribly large single measure before the line break

In reply to by frfancha

Indeed. If MuseScore has, say, 8 measures without an explict system break (like in the images at the beginning of this thread, it could just 'pretend' to fit them into one system to use its algorithms to determine the indisdisual measures' width, then, on detection that whis won't fit the real page width, use that measures' width information to split/spread the measures egually accross as many (rather as little) systems as needed. No AI, pure math.
Not a "greedy" distribution (fit as much as you can, then split), but a balanced distribution.
This may lead, in that 8 measure example (which is too wide for a single system), to a 4/4 split or maybe a 5/3 or 3/5, depending on measure content, but very unlikely to 6/2 or even 7/1 (unless that 1 measure is full of say, 32nd notes).
If that split is not good for the 'musical flow', interrupts a phrase, well, that's when manual system breaks are in order. (or, indeed, AI is needed).

In reply to by frfancha

And here's my counter argument for such a behavior:

If MuseScore (as it does now) shows me 5+1 for those measures, then depending on how squeezed those 5 look, I'm inclined to think they can fit together on one line (which is the original intention). So I'd select those measures and reduce their stretch slightly.
In 90-95% of my use cases, just one or two notches of reduced stretch make those measures fit.
If the scenario is that between the explicit line breaks, the current default would lead to 4+2 then I'd probably wouldn't bother with trying out adjusting stretch at all.

Now if MuseScore instead showed me 3+3 by default; I'd be way less inclined to believe that those measures can fit together on a single system. Probably I won't even bother to try that out.
Because I now no longer am aware whether that 3+3 came from a re-balanced 5+1 or a 4+2 (or even a genuine 3+3). Because if it came from a 4+2 chances are close to 0 that I'll be able to stretch-squeeze them onto a single system.
However, since I no longer know what the greedy version is, I might just get frustrated after having tried squeezing them together fruitlessly.


Now I'm not against having some kind of "balance" command which would do this mathematical juggling. But doing so automatically will not only not produce more sensical results, but also lose crucial information to allow me to make a decent judgement call on the best approach to resolve a 5+1 situation; which is why I'm against doing this by default.

In reply to by frfancha

He has a point though, the information that potentially those 5+1 might fit into one system if stretch gets reduced by a notch or three does indeed gets lost when you see an automatic 3+3 distribution

In that context it'd be good to get the '"Don't break system here" function back

In reply to by Jojo-Schmitz

Yes I get that 5+1 brings info: we can get almost 6 here.
So people needing that info would keep the option off.
I don't need that info and would set it on.
Balancing the lines vertically on the page is also hiding the fact that you could almost add one more by reducing slightly the space between them. Still it was the right thing to do but optionally of course.

In reply to by frfancha

Balancing the lines vertically on the page is also hiding the fact that you could almost add one more by reducing slightly the space between them.
Partially, it doesn't change the number of systems on a page. The vertical balancing doesn't make two pages 3+3 systems instead of 4+2 if four systems fit on the first page. It is still equally greedy and then stretches between the available space on the page.
Just like the current measures on a system fit is greedy and then stretches those greedy collected measures within the system.

But as I mentioned before; I'm not opposing such a function, I'd probably even use it in some cases (if applicable on a range, for example); I'm opposing the loss of useful engraving information if it becomes the default.

In reply to by jeetee

You're right that the analogy with vertical balance is not perfect.

Anyway to give you an idea why in my case the info "5+1 means could be 6 by pushing a bit" is not useful:

In 99% of my scores the musical split is every 16 measures. Which in 9 cases out of 10 (again, in my specific case, I don't try to make generalities) require about 2.5 systems. So 2 is too short even reducing spaces, 4 systems (e.g. with 4 measures on each) is really too "spacy".
Now how to split on these 3 systems?
Well musically it doesn't matter at all. It is really only a case of balancing the spaces between the notes.
Possible options are generally
7-5-4, 7-4-5, 6-6-4, 6-5-5, 6-4-6, 5-7-4, 5-6-5, 5-5-6, 5-4-7, 4-7-5, 4-6-6 or 4-5-7
which makes 12 possibilities
trying all of them is a nightmare but most importantly, even with a good feeling and being able to find quickly which one is the best balanced one is a process that I must continuously redo on the score when I am "working" with it.
Why? Because my scores are "moving" targets. I'm continuously adding fingering, changing chords, adding some text, ... E.g. adding the accordion chord symbols on each beat of a 4 beats measure that was containing a single note will transform it from "small" to "medium"
And suddenly all the work to balance the 16 measures on the 3 lines must be redone.
While there is not a single added value to a human balancing these 16 measures compared to an algorithm.

I'm well conscious that all that explanation concern my case and not all cases, I'm not requesting a general change, only an option to do it.
But I don't think my case is so exotic that I would be the only one interested.
And I hope it makes clear that what is described is not an AI trying to interpret music, but well a simple algo interested only by mathematical balance of subsets of the score. And if the user doesn't input any line break and activate the option, then yes the full score will be "balanced", but it is up to the user to add "musical" line breaks anyway whenever needed (or to not use the balance option)

In reply to by frfancha

Of course I understand you. I just disagree that blindly breaking things up mathematically is better than blindly breaking them up by putting as many measures possible on one line as it can. Neither is remotely useful musically. So why spend a lot of effort designing another algorithm guaranteed to produce bad results? We have one of those already.

In reply to by Marc Sabatella

'' Of course I understand you. ''


''I just disagree that blindly breaking things up mathematically is better than blindly breaking them up by putting as many measures possible on one line as it can''

Oops then no actually you don't understand at all.
Well I did all I could, hopefully somebody else will be able to better reformulate.

In reply to by frfancha

No, I understand perfectly, I just disagree, and gave you a good example of why. Any system that spends CPU calculating a 3+3 balance for six measures with no consideration to the musical context - whether 4+2 or 2+4 might be better in fact based on considerations like rhythmic content, placement of key change, etc - is just wasting electricity to me. And wasting the resources of developers who could actually be spending that same time coming up with useful algorithms.

In reply to by Imaginatorium

Certainly means "look better", as the sound is not affected at all by system breaks ;-).
And yes, I too would like see some real world example where 4:2 do look better than 3:3, if those measures do have comparable content, i.e. now one or 2 of them are full of 32nd notes and the others just some single whole notes
Certainly even worse with 5:1, which looks bad practically every single time (1:5 won't ever happen)

In reply to by Imaginatorium

I mean, more playable, because the system, breaks don't occur in the middle of intricate phrases, you don't have a repeated section that starts near the end of one system and continued to the start of the text, you try to align major sections of the piece with startos systems - dozens of possible reason exist why a dumb algioirthm that was only concerned with space would not produce good results. Decisions about where to place line breaks are far more complex involved than just "whatever fits most evenly".

Obviously, I don't have a real life examples that only six bars long. The decisions are always about a larger context. But again, this isn't some rare corner case, it's the norm. So how about this - you post a professionally edited part, I'll show you where some of these decisions were made.

In reply to by Marc Sabatella

That (detection of musical phrases, repeat structures etc.) of course does require some inteligence, artificial or natural, and some manually set system breaks.
For the rest an automation would be possible and easy to do.

The author/transcriber enters all the muscal notations, adds system breaks where they deem appropriate and for the rest relies on an automatic spread.
Which may turn out to not be optimal in some cases, so some more manual system breaks need to get added, and again the rest gets evenly distributed automatically.

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