Unison clash failing on site; no, this is not a "site problem".
Take a look at the minimal test case https://musescore.com/bsg/scores/6069325 .
This plays correctly in OS: macOS 10.15, Arch.: x86_64, MuseScore version (64-bit): 3.4.2.25137, revision: 148e43f .
As you can hear, it does not play correctly on the site; the whole note is clipped by the quarter note.
I thought this was fixed years ago. What is the site running? I tried that sample on Linux, 3.4.2 (AppImage), and it did not fail. What on earth is the site running that this still does not perform correctly? I don't know where the fault lies, but this is corrupting my carefully-prepared scores.
How can we find out where the problem is and get it fixed?
Comments
If the site is running an older version, wouldn't that by definition make it a "site problem"?
In reply to If the site is running an… by jeetee
Yes, indeed, but I thought that the site always ran the latest version a day or two after it was released. That has indeed been my experience when relying on new features, which is why it is something of a mystery.
For instance, I eagerly awaited the appearance of 3.3, with Campania, to see my cool Roman Numerals appear, and within days of 3.3 release, there it was. But unison collision cutoff was fixed a long time before that. So I cannot hypothesize what point in time the site's engine represents, and I don't know what build (or what platform). I hypothesize that there is some build of 3.4.2 they are using that fails in this way.
But even so, you are right that I should at least complain to the site, and I will.
In reply to Yes, indeed, but I thought… by [DELETED] 1831606
Reporting to the site was the right thing to do for sure. My understanding is that there is a special "backend" built especially for the site that generally is built from the same source as the current version of MuseScore but every so often some PR will be merged for the application and somehow get missed for the backend (or vice versa). So my guess is this was one such case.
In reply to Reporting to the site was… by Marc Sabatella
Oh, this is chaos (or, reproducing an internal diagnostic in the PDP-10 Lisp compiler (NCOMPLR), "KING OF CONFUSION"). This is a recipe for irretrievable dysfunction. Who is in charge of maintaining that bogon? How can this ever be fixed if it involves a PR dropped 2 years ago? It would be good if there were a way of DISABLING the fix in the application so behavior on the site was predictable.
In reply to Oh, this is chaos (or,… by [DELETED] 1831606
I have nothing to do with musescore.com and really can't say who builds it or how or if my understanding is correct. It's just something I think might be true.
In reply to I have nothing to do with… by Marc Sabatella
I will bother them again, but if they can't fix it, a "site compatibility mode" is needed in the application.
I suspect a complex plugin can be written that finds all collisions, although I don't know if the necessary channel info is available to QML. This is a horror.
In reply to I will bother them again,… by [DELETED] 1831606
No, the code should simply match - which is to say the site should be fixed. It's actually not that big a deal to have multiple applications built from the same basic source,e it's also how the mobile apps are made. For the most part I think the process in place for merging PR's does result in things being synced, it's maybe happened two or three times in the past decade I can recall that things have gotten off for whatever reason. I suspect in this case it was a PR that was merged then reverted then another one partially replaced it or some weird sequence of actions that got in the way, not really sure, but anyhow, the system works fine in general, no big deal to just report the rare problems when they are discovered so they can be fixed.
In reply to No, the code should simply… by Marc Sabatella
Well, I posted to the thread there (listed below). Let's hope for the best.
In reply to Yes, indeed, but I thought… by [DELETED] 1831606
Here’s what I know (been pointed to this thread by BSG):
I fixed this in 2.x completely. However, because there was (and still is, oops) no UI to easily assign different voices within one stave or grand stave to different MIDI channels, @lasconic added code to implement restriking instead of keeping the note sounding. This has made it into the official releases, but I’ve been carrying a local patch reverting the restriking in the Debian experimental packages (not in the Debian packages users normally get, mind you). The restriking code received several bugfixes in the meantime (none were applicable to the keep-sounding code).
I vaguely recall that, when the patches got forward-ported to MuseScore 3 (then just
master
), one of the post-restriking bugfixes patches got lost. I informed people in IRC about it, but didn’t track what became of it, and can’t find it right now.When I installed MuseScore 3 myself, with the revert-restriking patch, I noticed in the console messages (the keep-sounding code informs the user about collisions on stderr; something that is not really possible in the restriking patch) that, apparently, MuseScore 3.x at some point of x (probably > 0) does not render the entire score into MIDI at once any more; rather, it seems to render it in chunks. When asking about this on Telegram, the core developers (Anatoly IIRC) told me that this observation is correct, and to my question about the note collision state (which of course must be carried over) to not worry. (I’m not sure this is correct, but I haven’t yet found the time to check whether this will indeed work as necessary; a score MUST NOT be partitioned if a note is still sounding (using keep-sounding, not restriking, terminology for the ease of my mind), or the internal state of the collision tracker MUST be carried over to the next partition; I’m fairly sure the code will need changes, pessimistic/cynic developer that I am.)
So, perhaps either one of the patches is still lost (which would affect, IIRC, exports to MP3 from the command line… basically what the backend does), which you can test by using a collision-heavy score; in this case, all collisions will be broken… or the affected note you hear crosses one of the render partition boundaries and the reassuring I got from the core developers about not needing to worry about it was wrong.
This is all from back-of-my-mind, I’ve got to get back to work and not time to investigate it fully.
In reply to Here’s what I know (been… by mirabilos
Well, "how do you like them apples"?
Even on Apples, though, the locally-generated MP3 of the test case FAILS. This is, thus, grimly, not a site issue. I truly don't know what to do or even recommend or hope for. "Oh, the horror!"
The private "back-end" build is not the problem.
In reply to Well, "how do you like them… by [DELETED] 1831606
OK, then apparently part of the fix got (accidentally?) reverted sometime in.
In reply to OK, then apparently part of… by mirabilos
OK, I can confirm this goes as far back as 3.2.3:
A 3.2.3
OS: Debian GNU/Linux sid, Arch.: x86_64, MuseScore version (64-bit): 3.2.3+dfsg1-4+b1 (Debian sid/amd64), MuseScore build number not set, revision: d2d863f
with_out_ my revert-restriking patch exposes the following:mscore3 -o x.mp3 x.mscz
) brokenSo, indeed, a fix from 2.3.2 got lost.
With the revert-restriking patch applied, this works, of course.
In reply to Well, "how do you like them… by [DELETED] 1831606
So you're saying it does play properly on your Mac, but not when exported to MP3?
That would of course explain the musescore.com/backend problem, but not restrict the bug to that.
Please create a new issue in the tracker then
In reply to Please create a new issue in… by Jojo-Schmitz
That is a correct description of what I observed; it plays properly from the score, but not from the "Export to MP3" MP3, on my Mac, and it is clearly larger than, and not specific to, the .com backend. I'd appreciate trying it on Windows (download that score, export to MP3, and play).
While I don't fully understand @mirabilos' chronology, the issue is clear, and I will post it in the tracker.
In reply to That is a correct… by [DELETED] 1831606
Note also that I don't know what a "render partition" is, but I doubt that the very first note of a five-note score crosses one.
In reply to That is a correct… by [DELETED] 1831606
https://musescore.org/en/node/303561 (I never remember the reference syntax).
In reply to https://musescore.org/en… by [DELETED] 1831606
#303561: Unison collisions fail in MS-created MP3's (written as [#303561])
I have notified the site: https://musescore.com/groups/improving-musescore-com/discuss/5061346#
For a laff (responding to ZDB) https://musescore.com/bsg/more-ornamented-clash-test .
The site renders MuseScore 2 scores using MuseScore 2.3.2 and MuseScore 3 scores using MuseScore 3.4.2 (with some additional patches see https://github.com/musescore/MuseScore/tree/3.4.2_backend)
In reply to The site renders MuseScore 2… by Jojo-Schmitz
You forgot to say "minus some patches" as Marc pointed out. Who develops this version? Whose responsibility is it? Who can maintain this and merge the lost patches which are destroying unison collisions? Worse than the misbehavior is the fact that the release behaves differently, so scores cannot be fully debugged and tested before uploading. Is it my responsibility to try to merge the patches, build, and test this? Is there even a Mac build? How does one test it? I worked with @mirabilos to design this fix a long time ago; they are his patches. Maybe he has to do it? (I've written him).
In reply to You forgot to say "minus… by [DELETED] 1831606
Nope, I not just wrote plus, I ment it too. There is just one such patch (see 7c9cd52b). And only staff members can replace the backend
In reply to Nope, I not just wrote plus,… by Jojo-Schmitz
Great. I found the bug report, too. https://musescore.org/en/node/12971
So, which staff, .com or .org, and who's responsible, and how does one go about petitioning for a fix?
In reply to Great. I found the bug… by [DELETED] 1831606
@Anatoly_os
#12971: Same note in different voices and lengths plays only the length of the shortest note is fixed since ages, along with d741d5055f, ever since 3.0 at least
In reply to Great. I found the bug… by [DELETED] 1831606
Do we have to write to him personally or will he see this?
In reply to FWIW, that does not look at… by [DELETED] 1831606
He's been made aware on the Telegram developers' chat
In reply to He's been made aware on the… by Jojo-Schmitz
Vielen Dank.