Support MusicXML 4.0

• May 12, 2021 - 07:36
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.

Relates to #270643: [EPIC] MusicXML import/export issues


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).

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?

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.

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.

In reply to 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.

Fix version
4.0.0