MusicXML problem with import of *.mxl download (an OpenScore song in MS 2.3.2 format)
@Leon Vinken - I would appreciate your views.
This *.mxl import problem was found by user @jochen_hayek, who downloaded the *.mxl file from the OpenScore collection. He reported the full details on the score page itself here:
https://musescore.com/openscore-lieder-corpus/scores/4976777
I have downloaded the *.mxl file and tried to import it into MS 3.3.2, and I can confirm an error message:
_"Fatal error: line 59 column 19 Element credit is missing child element."_
My reason for raising this fault is because there are a few hundred scores in the OpenScore collection which are still in MS 2.3.2 format - and so presumably there is a risk that this fault may be present in the *.mxl for other scores which were uploaded in 2018.
Any advice? Might we have to update the 2.3.2 scores to 3.3.2?
Comments
Ciao, I'm sorry to get in the way.
I downloaded the file (xml);
Right click ->Rename ->Replaced xml with zip;
Right click->Extract here;
Launched MuseScore 3.2 (I'm on a 32bit pc) and opened the unzipped file that I attach;
Saved with 3.2, does it work for you?
In reply to Ciao, I'm sorry to get in… by Shoichi
OT: What I notice, unfortunately, is that only the first tag works:
I have repeatedly reported the problem on .com, without success. Will it improve?!?
But as you know we are on the wrong site ;-)
In reply to Ciao, I'm sorry to get in… by Shoichi
@Shoichi, thanks for the suggestion.
But opening the file is not the problem: I can either open the downloaded .mxl directly, or I can extract the .xml from the downloaded .mxl, rename as .musicxml and open it.
The problem is that whichever method we use to open the file, it reports a fatal error which the user must choose to ignore. I just want to be sure that we don't have a generic problem which may affect hundreds of OpenScore files. Ideally we should not be offering for download files which report a fatal error!
It would be really good to know the cause of the reported error, so that we avoid it in future:
"Fatal error: line 59 column 19 Element credit is missing child element."
In reply to @Shoichi, thanks for the… by DanielR
You've probably already seen: https://musescore.org/en/node/276312
Could there be any similarities?
Someone more experienced will be able to investigate and, I hope, propose an effective solution.
Hi Dan,
the issue occurs only in the MusicXML file downloaded from musescore.com, but not in the MusicXML file generated by importing the MS 2.3.2 format file in a recent MuseScore and exporting as MusicXML.
Thus, to me it looks like the issue is in the .mscz to .mxl conversion done by musescore.com, which is totally beyond my control. I do suspect the website engine is running MuseScore under water, but i wouldn't know which version.
There has been a fairly recent fix in the MusicXML export to prevent exactly this error, see #294174: [MusicXML export] invalid export element credit is missing child element. If this fix hasn't made it into the website engine, we have an explanation.
Regards, Leon.
In reply to Hi Dan, the issue occurs… by Leon Vinken
That conversion has been done at the time that score got uploaded or last updated, by a MuseScore backend matching that of the MuseScore version it got last saved with.
So it would be in for 3.x scores uploaded/updated after 3.3 got released but not for any other.
In reply to That conversion has been… by Jojo-Schmitz
So reuploading the score from version 2.3.2 should fix the bug?
In reply to So reuploading the score… by mike320
I believe it would.
In reply to That conversion has been… by Jojo-Schmitz
"So it would be in for 3.x scores uploaded/updated after 3.3 got released but not for any other."
And therefore updating the score to 3.3 and uploading (replacing the original 2.3.2 score) should fix the problem?
In reply to And therefore updating the… by DanielR
Transferring around 400 scores from 2.x to 3.x will likely prove labor intensive and tedious. Uploading existing scores, while time consuming, will be much easier and faster though rather boring if uploading them with the current version of MuseScore running on the website.
In reply to And therefore updating the… by DanielR
I think so, yes, try with one, then decide whether it is worth the effort?
In reply to I think so, yes by Jojo-Schmitz
I agree that changing all scores in the OpenScore Lieder Corpus to MS 3.3 format will be a lot of work. So perhaps we can compromise... My idea is this:
a) respond to individual reports of faulty MusicXML downloads, as in this case
b) continue the present policy for the Lieder Corpus, by upgrading older 2.3.2 uploads to 3.3 when the majority of songs in a set are already in 3.3 format.
I don't have an accurate count of scores in MS 2.3.2 format, but the Lieder Corpus contained 300 songs in January 2019 (all in 2.3.2 format). We switched to using MS 3.2.2 in July 2019, and all scores reviewed since then have used (or been converted to) MS 3 format. By September 2019 there were 350 songs in the Lieder Corpus.
So the total to convert to MS 3.3 is probably around 330 scores.
In reply to I agree that changing all… by DanielR
Another option would be to get the 2.x backend fixed (by backporiting the fix for #294174: [MusicXML export] invalid export element credit is missing child element to it) and then "just" re-upload the affected scores using MuseScore 2 (or even get a batch set up on musescore.com for this)?
A quick test:
a) modify a score in MS 2.3.2 format, by adding empty Vertical Frames above and below the title frame
b) save the score (in MS 2.3.2 format)
c) save online
d) then download the resulting .mxl file from the musescore.com website
e) open the .mxl file (in MS 2.3.2 or MS 3.3.2)
Expected result: the contents of the title frame should be preserved
Actual result: the contents of the title frame disappear, but there is no error message on import
Test file: https://musescore.com/openscore-lieder-corpus/dichterliebe-op-48-no-1
After some testing of the MusicXML download with MS 3.3.2, it seems that:
a) using two vertical frames at the start of the score is problematic
b) using a single vertical frame is preferable, but there are vertical alignment problems in the MusicXML
I have raised an issue: #297688: MusicXML: problems with generated MusicXML when Title frame has a "Dedication" field
In reply to After some testing of the… by DanielR
Did some further investigation on https://musescore.com/openscore-lieder-corpus/scores/4976777, the issue is actually caused by the empty movement title in the vbox. As it is empty, it is invisible and probably hard to remove using MuseScore. See lines 603..607 in the .mscx file. This implies the issue may not necessarily be present in all 2.3.2 files.
Applying a similar fix as #294174: [MusicXML export] invalid export element credit is missing child element prevents the issue. Note that the 3.x fix does not apply cleanly in 2.3.2, it has to be merged in manually.
In reply to Did some further… by Leon Vinken
"This implies the issue may not necessarily be present in all 2.3.2 files."
Leon, thank you for tracking this down. Indeed it should not be a problem in general.