Support MusicXML 4.0
Reported version
3.6
Type
Functional
Frequency
Few
Severity
S5 - Suggestion
Reproducibility
Always
Status
closed
Regression
No
Workaround
Yes
Project
MusicXML 4.0 is due to get released by the 1st of June 2021 (see https://github.com/w3c/musicxml/milestone/2), a draft is ready, see https://w3c.github.io/musicxml/
Finale announced MusicXML 4 support for their soon to be released v27, see https://www.finalemusic.com/blog/finale-v27-is-coming-soon/
Seems about time for MuseScore to think about that too.
Fix version
4.0.0
Comments
To be perfectly clear on the implication of failing to do this:
- MusicXML 4.0 files not using new 4.0 features will load correctly without any error message
- MusicXML 4.0 files using new 4.0 features will fail schema validation, including the associated warning but ignoring the warning most likely still results in a correct import
The solution is to update the associated xsd files (3.x source code location mscore/schema, master src/importexport/musicxml/schema) and update and/or regenerate the MusicXML test files
Thank you for submitting this before I can come to it. One of the advantage of Musicxml 4 is support of system texts, which makes braille transcription of such texts more easier to be distinguished from staff texts. So all system texts and lines can be exported as directive="yes" or the one for system (I can't remember the exact attribute).
1st of June 2021 has passed and MusicXML 4.0 has been released
Haipeng, am I correct in understanding you are referring to https://www.w3.org/2021/06/musicxml40/musicxml-reference/data-types/sys… ?
In reply to Haipeng, am I correct in… by Leon Vinken
Correct.
Submitted issue https://musescore.org/en/node/324007
In reply to (No subject) by Jojo-Schmitz
FWIW, I make very frequent use of musicXML (a few times/week) to import files created by a different program. So I'd just like to add my voice for keeping current with this standard/spec.
See https://musescore.org/en/node/326740 for an example of a MusicXML 4.0 file produced by Finale v27.
How is that a workaround?
Needed by #324007: [MusicXML] support system attribute to distinguish between system and part association
Pull request to update the schema files to version 4.0: https://github.com/musescore/MuseScore/pull/10060
In reply to Needed by #324007: [MusicXML… by Jojo-Schmitz
Importing MusicXML 4.0 files currently produces an error. The workaround to import them is to simply ignore the error. I consider that a workaround, as the structural solution would be to update the schema files (see PR).
PR 10060 was merged on Dec 14, 2021, but solves the MusicXML 4.0 import only, export is still MusicXML 3.1.
Will submit a PR shortly to also switch the export to MusicXML 4.0.
Maybe exporting as MusicXML as 3.0 is not a bad idea: As long as MuseScore doesn't actually use any of the new features, it'd increase compatibility woth others importing it, wouldn't it?
See https://github.com/musescore/MuseScore/pull/10761
Pull request for export: https://github.com/musescore/MuseScore/pull/10761
Jojo, you're quick this morning ...
And yes, MusicXML 4.0 is backwards compatible, upgrading to 4.0 shouldn't hurt, possibly affecting schema validation in older importers only.
But that affecting schema validation in older importers is exactly my concern.
MuseScore up to recently couldn't import MusicXML 4.0 (3.6.2 still can't)
Edit: actually it can (as long as no MusicXML 4.0 features are used I presume)
As Finale already produces 4.0, any issue should occur anyway. All importers I am familiar with either don't do schema validation or allow import even when validation fails.
Note there are already requests for implementing 4.0-specific features.
If many issues occur, we could also easily provide a backwards compatible 3.1 export feature.
I'm confused: any issue should occur anyway?
As far as I know, Finale doesn't have any issue when importing old Musicxml files, and it has option to export to previous Musicxml versions. Sibelius can import Musicxml up to 3.0, but when opening 3.1 files, it simply says the xml is not valid, and can still import, unless the score is too complex to be imported even when the xml file is a 2.0 or 3.0 version. So don't worry.
Added to https://github.com/musescore/MuseScore/pull/9000 (for 3.x)
In reply to Added to https://github.com… by Jojo-Schmitz
In reply to Jojo's Mar 8, 2022 - 10:15 question: what I meant to say was that as Finale already has been generating MusicXML 4.0 files for quite some time, I would expect compatibility issues with importers to be known by now. Switching MuseScore to MusicXML 4.0 will add to those issues, but I doubt this will be new to the users.
Also note that MuseScore has upgraded the MusicXML version exported several times in the past, but I am not aware of major issues caused by that.
Fixed in branch master, commit fe78b04da1
Fix #321095: Support MusicXML 4.0 (export)
Automatically closed -- issue fixed for 2 weeks with no activity.