[PROBLEM] Opening large MusicXML files

Hey there!
When I open a large MusicXML file with Dorico, it stops “reading” the file at a certain point (see image 1), but when I try to open the same file with Finale, it shows me the whole document with all the notes and other stuff (see image 2). Is this a bug, or just a bad importing process in Dorico?

Thanks!
Albert.


I imported a file that was 17MB as an XML (exported from a 428k Sibelius file). It imported OK, with some things stripped out, of course, and the resultant saved Dorico file is 7.6MB. The file has 23 instrumental staves and is 547 bars of 2/4 with notes as small as 32nds.

Is this what you mean by a large file?

David

Hey David!
The file you described is way larger than mine, so I don’t know how it did happen. I’ll keep trying things…

Thanks!
Albert

Albert,

The reason why your file doesnt import, apart from some possible corruption in it, may have something to do with the cross-staves and other features that you use, rather than size. I suggest you send the original to Daniel to see what it does on his machine.

David

There will almost certainly be a specific encoding problem in the MusicXML file that Dorico can’t handle for some reason, which could be either a bug in the application that exported the file in the first place, or indeed in Dorico’s import. If you zip up the MusicXML file and attach it here, I can indeed take a look.

Here you have, Daniel.
By the way, at the moment I can’t open this attached XML file… it stucks at 25%. Don’t know what I did… :neutral_face:

Albert.

PS: After tried some things, I concluded that this is happening every time I try to open MuseScore-exported XML files with Dorico. Other XML exported files—such as Finale ones—open quite good in Dorico. What is wrong there?
25%.png
Compressed XML file.zip (68.1 KB)

Thanks for sending the file over. It causes Dorico to crash for me, so I need to look into this further. I suspect that there is indeed some kind of problem with its encoding that Dorico isn’t handling well.

Thanks! If there’s something that you “discover” about that crashing, please, tell me!

My colleague Richard, who is an expert at diagnosing problems in MusicXML files, has taken a look at the file you sent, and this is what he found.

There are a few problematic passages in this file, which are all to do with the rounding of divisions values for tuplets. The problems are in bars 78, 79 and 99: the first two have 17:12 32nd-note tuplets, and the third has a 25:12 32-note tuplet. The divisions value used for the individual notes in the 17:12 tuplet is 42, rounded down from the real value which would be ~42.35, and the divisions value used for the individual notes in the 25:12 tuplet is 29, rounded up from the real value which would be ~24.8. I think the reason this is going wrong is that the MuseScore file attempts to correct the rounding errors across the whole tuplet by using a forward or backup node just after the tuplet has finished, instead of alternately rounding up and down individual notes within the tuplet as e.g. Sibelius does. In the case of the 17:12 you end up with an underfull tuplet which causes a crash, in the case of the 25:12 tuplet you end up with an overfull tuplet which trashes the remainder of the voice stream but doesn’t crash.

Dorico would ideally be more resilient to these kinds of problems, but equally MuseScore could perhaps approach this kind of encoding differently, too.

Thank you for the diagnostic! I will try to post it as a bug in the MuseScore forum.