Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix #167196: change some MIDI XF chord symbol spellings #2982

Merged
merged 1 commit into from
Feb 13, 2017

Conversation

Jojo-Schmitz
Copy link
Contributor

@Jojo-Schmitz Jojo-Schmitz commented Feb 6, 2017

to not take the strings from the MIDI XF spec but look more or less likeMuseScore's old stdchords.xml

@lasconic
Copy link
Contributor

lasconic commented Feb 6, 2017

@MarcSabatella I believe we could use your chord symbol knowledge here. These chord names are derived from the MIDI XF specs at https://musescore.org/en/node/39511#comment-172911 The spec is a bit fantaisist and I'm not sure if it's better to keep them as it or to try to give them more standard name.

@Jojo-Schmitz
Copy link
Contributor Author

Jojo-Schmitz commented Feb 6, 2017

They are not just derived from that spec, but taken as an exact copy ;-)

In the issue it seems we came to an agreement for this 2 changes, drop the "Maj" from a plain major triad and drop the "th" from the "7th".
Maybe more of that list can be changed and or simplified, I suggested some at https://musescore.org/en/node/167196#comment-648926

See also
midi 20file 20chord 20spelling_0_0

(Sorry, closed PR by accident, so reopened it again)

@Jojo-Schmitz Jojo-Schmitz reopened this Feb 6, 2017
@MarcSabatella
Copy link
Contributor

Now that I actually see the XF spec, I better understand the choices that were made originally - these are indeed the spellings taken directly from the spec. So to the extent there is a "correct" interpretation of the data, we are actually already doing it according to a literal read of the spec. However, I do think it was a mistake to read the spec as a literal recipe for notation. I believe it was meant only to give semantic information. And this explains why we see Maj, 1+8, etc. I don't think Yamaha was trying to tell anyone to notate the chords that way, I think they were trying to be unambiguous about the meaning of the chords.

So unfortunately we do need to be in the business of making subjective decisions here, and no matter which we make, some will be happy, others not.

So, here are the changes I think we absolutely must make just to have syntactically correct / more universally agreed-upon chord symbols:

Maj -> "" (empty string)
Maj6 -> 6
Maj6(9) -> 6(9)
1+5 -> 5
1+2+5 -> sus2

I don't understand the intended use of "cc" - looks like a placeholder or something?

For 1+8, this isn't really a chord - it's a bass note. The proper way to notate this is as "/G" (or whatever the note is). But getting that right would involve code changes beyond just fixing the table. So I would propose just turning the 1+8 into "" (empty string).

After this is becomes much more subjective. There simply is no agreement among musicians about the best way to abbreviate "major" (when it does need to appear, as for major seventh chords) or "minor" (which needs to be used even for triads). There are differences in overall sentiment between jazz versus pop versus folk musicians, and also differences within each community, with regional differences as well. That's the whole reason I went to so much trouble to implement a full-fledged parser and to eliminate any reliance on preferred spellings.

That said, I will go out on a limb and make some recommendations for how we handle this case based on a combination of experience and logic:

Abbreviate minor as "m" instead of "min" everywhere it appears. Leave major as "Maj" in the places it still remains after removing it from the triad and sixth chords. Remove parentheses from the chords where they are not needed: Maj7(#11), 7(#11), 7(b9), 7(b13), and 7(#9). Change 7(9) to just 9, including in the major and minor sevenths (so, Maj9, m9, mMaj9). Change "7aug" to "7#5" (for both dominant and major sevenths), but leave it alone for the triad.

This is more or less the same as our old stdchords.xml, FWIW, although that in itself is not why I made the recommendations I did.

@Jojo-Schmitz
Copy link
Contributor Author

Jojo-Schmitz commented Feb 7, 2017

OK, here we go. Did I forget something or did something wrong?

MarionH just explained to me what that "cc" is about: it is a so-called crash-chord, if you press any 3 adjacent keys (e.g. C, C#, D), all the automatic accompaniment stops, all but drums, and a crash sounds (hence the name). Use case is at a gig to give the band a break and the mike to the audiance and let them shout. So as it is not a chord to play, I guess we should just ignore it, or maybe we could make it an "N.C.", seems the closest match? See also 55ed042, and the issue that went along with it about "N.C." 'chords'.
We got to do something about that "cc", as it would transpose and then lose ist meaning and cause confusion. So either ignore it ("") or "N.C.". Or make it a staff text (in techique style?), Well, let's just go for "N.C.".

She further explains that with "1+8" and "1+5" the accompaniment gets switched to these intervals, so with "1+5" you can easily play the intro to "Pink Panther" for eample. Not sure what to make out of that though, maybe just ignore?

See also #1719, which is where these got added to MuseScore, it does have images showing how Sibelius 6 and 7 imports these, "m" instead of "min", no unneded "Maj", nor "th" in "7th"

The old 1.x chords had "6(9)" as "69" (ID 14) and "6add9" (ID 191), "m7(11)" as "m7add11" (ID 196) and I believe (not really sure in this one) "7(13)" as "Maj7add13" (ID 197), see https://github.com/musescore/MuseScore/blob/master/share/styles/chords.xml

See also Chords.pdf, a file I created a long time ago in 1.x to show all supported chords and their proposed voicing, derived from that chords.xml

@Jojo-Schmitz Jojo-Schmitz changed the title partial fix #167196: change some midi chord spellings fix #167196: change some MIDI XF chord symbol spellings Feb 7, 2017
to not take the strings from the MIDI XF spec but look more or
less like  what MuseScore's old stdchords.xml did
@lasconic lasconic merged commit fc9beee into musescore:master Feb 13, 2017
@Jojo-Schmitz Jojo-Schmitz deleted the midi-chords branch February 13, 2017 11:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants