MusicXml export - is this a bug ?

• May 28, 2015 - 09:25

Ok, my recent posts have met with mixed reactions, so I will tread more carefully here.

I have created a "simple" chord symbol file to test my processing of chord symbols as exported by MuseScore.

I have one issue with the following chords :
Cmsus, Cmsus2, Cmsus4, Cmsus7, Cmsus9

Now, perhaps I am making a fuss for nothing - especially if these chords are nonsensical.

In each case, the minor part is not exported.
Example for Cmsus

<harmony print-frame="no">
    <kind text="sus">suspended-fourth</kind>

Is this a bug ?

Attachment Size
Chord_test_document.mscz 12.76 KB


Hmm, "mixed reactions"? I guess I would say, I've always tried to take your observations seriously, but maybe it's true that the results have varied in terms of what suggestions have been easily doable within the limitations of how MusicXML represents chords or how MuseScore implements MusicXML export.

Anyhow, this particular case is one of those gray areas. Even though they do occasionally occur in the published literature, those chords *are* in some sense nonsensical. The "sus" means replace the third, so there is nothing for "m" to apply to. And to make matters worse, MusicXML treats "suspended-fourth" as a "kind" just like "minor", rather than as a degree substitution, so there is no straightforward way for it to be both "minor" and "suspended-fourth", any more than it is possible to be both "major" and "diminished". That said, MusicXML doesn't disallow you from representing a suspended fourth as a degree substitition, so that would be a way of representing this chord: as "kind" of minor, but with appropriate degree tags to replace the third with a fourth.

All that said, I would actually prefer to export *all* "sus"chords this way - to pretend the "suspended" kind didn't exist. From a comment by Michael Good, I gather this is acceptable. But for historical reasons we've always used the "kind", and my sense was that more programs supported it. If we exporteded suspended as a degree subsitution, we'd have to hope the importing program could correctly turn that back into "sus4". Using "text" attributes could help, but it is still tricky, as there would be a pair of degree tags, not just one, and in any case, MuseScore is not set up to easily map things this way.

I *did* actually implement suspended as degree substitution a couple of years back and left that code in but ifdef'ed out. If I saw that there was a consensus that we should make this change, I could flip the switch. But I'd be unwilling to do it if it meant reduced compatibility with other programs (including of course, older versions of MuseScore).

In reply to by Marc Sabatella

Thank you for your reply. As always clear and detailed.

As you said, we do come across some published materiel which prints an Xmsus, Xmsus2, etc.
Firstly, my understanding is that sus is in most cases shorthand for sus4, do you agree ?
In this case, do you agree that they could either be replaced directly with an Xsus4 or an Xmadd4 ?
For myself, this is not only to have a workaround, but also to improve my understanding.

Even if it may seem that I am only "complaining", I am really happy with v2.0.1, especially with the great advances in MusicXml exporting.

In reply to by Simon Giddings

Don't worry, I don't take your comments as complaints at all!

Yes, in the absence of something to say otherwise, "sus" means "sus4". It's quite weird to see "sus7". That sort of looks like you're saying "replace the third with a seventh", which makes no sense at all. Probably that is really meant to be "7sus4" - that is, "include seventh, replace third with fourth".

As I said, there is a sense in which "minor" and "sus" is a contraction in terms, but not necessarily. The "sus" says, don't include a third in the chord voicing. But the "minor" says, while improvising over this chord (eg, in a jazz setting), if you do include a third, make it minor. To that end, calling it a minor eleventh is probably more to the point. Add "no3" if you think it's important.

The thing is, chord symbols are not a science. They are not intended to tell one exactly what notes to play, but more to tell you what the prevailing harmony is so you can decide for yourself what notes to play based on the the style of the piece and what your role is (pianist, guitarist, bassist, soloist, etc). Add the fact that *syntax* is highly personal even for the same basic interpretation (eg, "m" versus "mi" versus "min" versus "-" for minor), and the fact that MusicXML has some ambiguities, and that's why there are seldom easy answers to the questions you are asking.

Do you still have an unanswered question? Please log in first to post your question.