A massive shoutout to the developers!

• Nov 15, 2021 - 13:34

I came to Musescore only few months ago after using Finale for more than 10 years. I am frankly astonished by how a free software developed by an open source community can make an industry-standard program feel like a complete piece of junk. Crazily enough, I decided to test Musescore by undertaking the largest edition project I had ever done. The end result is the best-looking, best-engraved music I've ever produced. I know it may look like nothing special to a professional, but I also know for a fact that I could have NOT achieved this result in Finale unless working literally 10x the time. Here are a few thoughts.

1) The auto-spacing of the staves and the page-filling algorithm of MS 3.6 is absolutely masterful. I didn't need to fix a single collision in 90 pages, not even with the lyrics lines. Finale has nothing similar: all spacing is manual, and zero collision control. That's why in Finale you tend to set the staff size to 20-30% smaller and give a fixed, larger staff distance, and there you're served with your typical Finale layout that has the size of a towel and has more white space than music.
2) The default placing of articulations and dynamics is absolutely spot on.
3) The default shape of slurs is almost always excellent. Finale's default slurs are notoriously laughable.
4) Stretching-squeezing a whole section of music with the push of a button is incredible. Again: nothing similar in Finale.
5) Section breaks and a simple text frame to separate movements produce an incredibly natural and beautiful result both in scores and parts.

Yes, I've encountered a few bumps on the road, the only serious one being the impossibility of creating cue notes while keeping a staff hidden (see my previous post). And I have a few bugs to report, including a reproducible crash, as well as a few minor suggestions. I'll post in the next weeks :)

I don't know, make what you wish of this post. I just felt that it would be nice to point out the good features, for once, since 99% of the time we use this forum to complain ;)

Attachment Size
pic1.png 780.25 KB
pic2.png 787.65 KB
pic3.png 597.85 KB


Thanks for the kind words! Indeed, we have refined things over the years and do many things well - I think people often just assume a free program can't possibly do so well and don't dig in deeply enough to see just how far we've come.

Slurs still have a ways to go but as you say, we're probably at least as good as Finale. Beams and ties are another area where we have identified potential improvements and they are being worked on for MuseScore 4. Another area where we know we still have work to do is with the horizontal spacing - widths of measures are not always optimal, leading to inconsistent spacing between notes from measure to measure in some cases. But nothing you can't fix with a few applications of "{" and "}".

And yes, cues are an area that we don't support well at all and know we need to.

In reply to by Marc Sabatella

Totally agree on the horizontal spacing (funny that you mentioned it, cause as soon as I uploaded the second picture I noticed that I should adjust a couple of bars). Granted, the }{ commands still work magics if compared to Finale, but yes, sometimes the default spacing does feel a bit inconsistent.

FWIW, let me throw a suggestion: in most cases, the desired horizontal spacing is determined by the constraint of a single bar to be at a given page position. Most typical example: "I need this bar to be exactly at the end of this page because of the page turn". I had to do this dozens of times. By placing page breaks and tinkering with }{ you do get what you want in MS, but it requires a bit of trial an error before you reach a uniform spacing. It would be great if I could just click on a measure and select "Lock this bar at the end of current page", while Musescore figures out the "average" spacing parameter required to obtain a uniform look from the previous bars.

In reply to by __mikes__

I recommend not using stretch adjustments at all for that purpose - that ends up being the cause of inconsistent spacing. Just breaks alone (both page and system) should be sufficient. Or if you sometimes need more measures on a system than currently fit given your staff size and style settings, better to adjust those so you always have tighter spacing than you need, then add the breaks. You’ll get much better results with much less effort in most cases.

In reply to by Marc Sabatella

Good tip! Just to be clear, I never use stretch adjustments on single bars (or even single lines), I only apply it to big chunks of music, typically half a page or an entire page. Cause I have the feeling that if I let Musescore decide when to put a measure to the next line the result is always better than if I decide by line breaks. But I'll try it out!

In reply to by __mikes__

Yes, you've got the right idea in being careful about where to use stretch. I used to do the same, but these days, in cases where I'm trying to optimize the layout, I'm happier taking it to the extreme of essentially starting with minimum stretch and adding breaks. And what led me there was the realization that due to how the layout algorithm works, these layout inconsistencies I mentioned are actually lessened a bit if you reduce the "spacing" in Format / Style / Measure to the minimum, then play with the "minimum note distance" and add breaks as needed to get the best results you can. Warning, serious nerd alert, but - see #299741: Inconsistent spacing of same-duration notes and in particular, my comment with examples in https://musescore.org/en/node/299741#comment-972242

In reply to by Marc Sabatella

Ok, that thread was massively interesting! Just a question: is there, at the current moment, a pull request specifically addressing this spacing problem? Or, in general, is anybody actively working on it?
Cause I'd be seriously tempted to contribute here. Granted, coding the new spacing function would be a massive mountain to climb and I'm not sure I can take it. But at least I have a very clear idea of the math behind it (being a physicist as a daily job, it's quite straightforward). For instance, what the log function was doing was perfectly clear to me even without reading the code. As well as where the problem is with the first pass. So at the very least I could help write the mathematical algorithm (and Barnie already pointed the right direction in the document he wrote, even though he didn't seem to be much into the math of it).

In reply to by __mikes__

As far as I know, no, there is no current PR. Up until a few weeks ago, it had been decided not pursue changes like this for MuseScore 4 but put them off until 4.1 or whatever. With the current changes in direction regarding some new playback features delaying the schedule, more work is being done on engraving, but I don't know that this is being worked on yet. I'd certainly love to see that happen, though, now really feels like a great time. So I'd encourage you to join the Discord channel and discuss your thoughts there. Whether you actually end up writing code or not or just contributing ideas, you could indeed be the one to make the difference here!

FWIW, regarding the math, probably "real" engravers don't think so much in those terms. The chart on p. 39 of "Behind Bars" is almost painfully simple in comparison.

In reply to by __mikes__

I guess its apparent from the spacing-thread that, if I had the skills, I would've fixed the inconsistent spacing myself long ago :) But alas. However this might be for the best actually, because a seasoned engraver (known as oktophonie here of the forum) joined the MuseScore team since. From what I gather there is even more spacing-improvements to be made than just fixing the inconsistent spacing and oktophonie is the right person to give guidance on this.

I understand horizontal spacing improvements are definitely being planned, but I don't think there is anything being implemented currently.

PS - I actually tried tinkering with the code to see if I could improve the spacing. I ended up with every measure's first half or so overlapping the previous measure. It was spectacularly and hilariously broken.

PPS - Merely reading you're a physicist intimidates me intellectually :)

In reply to by BarnieSnyman

@Barnie I've quickly gone through your document and I think it's an excellent job, if I ever undertake this seriously that will be my starting point. I'll try to dive deeper next days and see if it's even thinkable for me to put my hands on it.
PS - For the moment, nothing makes me think that I'll get anywhere further than where you got lol
PPS - Ah never mind. I'm also intimidated by phisicists 🤣

In reply to by Marc Sabatella

My level of frustration has just reached an all-time-high. I've looked at the code, I've understood how the current spacing algorithm works, why it causes the inconsistency, and also why your trick of minimum stretch + line breaks seems to improve it. I've looked at the log function, I've probably got a good idea of why the original developers chose it, and in 10 minutes I calculated a new function that can almost exactly reproduce the spacing rules of the Gould. I have a good idea of how a better algorithm should work, and I'd like to start experimenting with the code.
But FOR THE LIFE OF ME I cannot compile the freaking code. Installed all the dependencies and everything that's needed, tried fixing problems for three whole days, but it still doesn't compile. The last error I get from Visual Studio (running on Win 10) is:

LINK : fatal error LNK1104: could not open the file '..\framework\uicomponents\Debug\uicomponents.lib'

and this time I simply have no clue how to fix. If you've experienced it before, please let me know.

Otherwise, which platform (meaning combination of operaring system + IDE) are you using? Is there a platform that is known to create less struggle for developers?

I'd also like to express my gratitude to all the developers for this awesome free scorewriter!

I was familiar with Sibelius 7, but couldn't afford my own copy. So I tried MuseScore (which was on version 2-point-something then). I too had the perception that, with MS being free and developed by volunteers, I shouldn't expect too much from it. I was hoping I could get by with whatever limited functionality it had to offer.

With the help of the MuseScore-in-Minutes playlist on youtube (outdated but still useful), I very quickly got up to speed and was pleasantly surprised that I could do everything I needed in MS. Its ease of use even back then compared to Sib struck me. Almost everything I needed could be found in the Advanced Pallete, while with Sib, lots of stuff were seemingly almost randomly scattered around all over the ribbon and in obscure menus and windows. I also found it much easier to do precise manual adjustments in MS. Doing the same in Sib often resulted in a measure shifting to/from the next system and the rest of the score looking like a bomb had gone off. But I have to emphasize that at that time I was still quite inexperienced with notation software in general, which is probably the reason for a lot of my Sibelius-frustrations. Nonetheless, my beginner-experience with MuseScore was better.

Of course the biggest downside was I had to manually move things around to avoid collisions. When MuseScore 3 came out, it was just THE MOST AWESOME THING to have the program automatically adjust everything to avoid the collisions I previously had to put so much effort into sorting out!

The collision avoidance doing its thing so well made the horizontal spacing issues start to stand out for me. I also heard a lot of negative comments about MS from engravers in general. While I feel much of it is disproportionately negative, the complaints were not without merit. That's when I raised the issue of horizontal spacing and engraving in general.

While I was happy with MuseScore's interface and didn't pay much attention to its shortcomings, the UI/UX-changes definitely made a big improvement in how smooth working with MS feels. In particular I appreciate not having to doubleclick stuff anymore!

The new font and vertical justification of the 3.6 release gave me the same wow-reaction I had with automatic collision-avoidance. I was never really a fan of MS's default Emmentaler font, so I used Bravura, which is a lovely font, but looked a little bit heavy at times. I instantly loved the new Leland-font, which had just the right degree of heaviness for my taste. I also didn't know how much I needed the vertical justification until I actually had it. Previously I'd manually space the systems. Now, I do only an occasional tweak.

So to everyone involved, a HUGE thank you for making MuseScore! :) :) :) I'm looking forward to the upcoming engraving improvements and hope to eventually see the default output improve to the point where few to no manual tweaks are needed for great-looking results.

Totally agree with you! I have definitely noticed items 1 and 3, and yes, item 4 is so awesome.
I'm so glad I'm not the only one who thinks MuseScore is the best music software around—experience and output. It is so easy to use, and no other music software gives you such beautiful scores. I would match it against any music software in the world.

— Ashton H

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