[MusicXML] Export is wrong if score is in concert pitch mode

• Mar 7, 2012 - 16:11
Type
Functional
Severity
S4 - Minor
Status
closed
Project

Even in concert pitch mode, the pitch, octave etc... should be exported without taking concert pitch into account. Currently exporting a score in concert pitch or not will give different results. Of course, that could be considered as a feature...

Workaround : Switch concert pitch off before exporting to MusicXML.

See : http://musescore.org/en/node/15369


Comments

My expectation is that regardless of whether I was in concert pitch mode or not when I did the export, the resulting MusixXML would contain all necessary information so that upon import it would be correct and could be toggled between concert and transposed just as was the case in the original.

As a user planning to import into MuseScore or other similar notation software, I don't think I would care if the notes encoded into the MusicXML file were represented differently depending on what mode I was in what I exported. But on the assumption that at least some of the MusicXML files might be imported into a "dumb" program that could only display what was there and provided no transposition facilities, I would hope that the MusicXML *would* reflect the mode I was in.

So if I was in Concert Pitch mode when I exported as MusicXML, I'd hope that the MusicXML would contain all notes at concert pitch and would import to a "dumb" program as a concert pitch score. And if I was not in Concert Pitch mode when I exported as MusicXML, I'd hope that the MusicXML would contains all notes at written pitch and would import to a
"dumb" program as a transposed score.

But that's what I say as a user, not as anyone with any knowledge about what the MusicXML spec might actually call for.

Quoting the MusicXML mailing list:

Michael Good, 2005-08-09 12:01 +200:
The pitch element represents written rather than sounding pitch for transpositions.

Michael Good, 2008-02-14 14:26 +100:
The transpose element represents what must be added to the written pitch to get the correct sounding pitch.

Michael Good, 2010-02-13 19:44 +100:
If you have an untransposed concert pitch score, then there will be no transpose elements present. The exception would be for instruments traditionally written at an octave transposition, even in a C score.

Michael Good, 2011-02-02 02:23 +100:
There isn't a way in MusicXML 2.0 to represent a concert score and also include the transpositions that would be used for parts. If you export a concert score, you lose the transposition information.

So, from the quotes, I understand there is no bug right ? It works as designed and according to the words of the MusicXML creator. Right?

No, there is definitely a bug in 1.2 at least. I just took a score for transposing instruments, set MuseScore to Concert Pitch mode, and exported as MusicXML. I then imported the file (i am using the option for builtin style on import to avoid the other transposition bug we discussed recently). What showed up *looked* correct - it appeared to show four C's - but when I played it, it clearly was *not* correct - it was playing the pitches as if they were transposed. And when I turned Concert Pitch on, it *did* transpose the part accordingly. So somehow, MuseScore *is* getting transposition information, but it is getting it backwards.

I have attached an example. In the original, it is four instruments playing a concert "C" in unison, and it plays as such. While in Concert Pitch mode, export this as MusicXML. Then open that MusicXML file. It will now appear to be four C's, and Concert Pitch is off. Press play and your hear a cluster, not a unison. Hit the Concert Pitch button and you see why: it really does have transposition information and it was trying to apply it.

Attachment Size
Transposition.mscz 1.82 KB

So this is problably

Michael Good, 2010-02-13 19:44 +100:
If you have an untransposed concert pitch score, then there will be no transpose elements present. The exception would be for instruments traditionally written at an octave transposition, even in a C score.

It suggests MuseScore shouldn't export instrument transposition information if in Concert Pitch Mode. All this seems quite complicated to me, it seems that Finale (and maybe sibelius?) doesn't bother much and ignore concert pitch mode on export. Is there any value in exporting the score (in MusicXML) in concert pitch? and then lost the transposition info?

If I create that same score in Finale, then export it as MusicXML from Concert Pitch mode, I get a score that imports as transposed / written pitch but plays correctly, and when I turn on Concert Pitch in MuseScore, it shows correctly as concert pitch. So it appears Finale actually exports as transpose / written pitch regardless of whether or not concert Pitch is on when exporting (examining the XML file itself supports this). Given that this allows me to still see the concert pitch score after import if I wish, I do prefer that to having concert pitch pitches exported with no transposition info present. Export them as transposed, with transposition info intact to allow me to revert to concert pitch after import.

Although on second thought, if I were exporting in order to import into some playback-oriented program that *doesn't* understand transposition, it's possible I'd want an *option* to force the score to be exported at concert pitch with no transposition.

Here's the sample file I exported from Finale while in concert pitch mode.

Attachment Size
transpose.xml 26.6 KB

Just checked, Finale Notepad 2012 also always exports transposed pitch with transposition info, even in display mode "concert pitch". MuseScore currently exports transposed pitch with transposition info in non-concert pitch mode (correct), but exports concert pitch with transposition info in concert pitch mode (which is incorrect).

Removing the transposition info as suggested in reply #5 is technically correct MusicXML, but results in a score that is correct only when displayed in concert pitch.

So I agree with Mark and prefer the solution where MuseScore always exports MusicXML as if concert pitch was off.