Standard Chord Naming Conventions
I am developing some software for music production, I am now coding some classes for Chords, but I came to realize that I understood much less than I thought. What I am trying to do is to rip apart all the pieces that make up a chord, and this is what I currently came up with.
So chords are made up by 4 main parts: Chord Quality, Highest Degree, Seventh Modifier, and Secondary Chord Modifiers
Chord Quality contains the main information about the chord, whether it is:
M -> Major -> (1-3-5)
m -> Minor -> (1-3b-5)
aug -> Augmented -> (1-3-#5)
dim -> Diminished -> (1-b3-b5)
sus2 -> Suspended 2 -> (1-2-5)
sus4 -> Suspended 4 -> (1-4-5)
sus2/4 -> Suspended 2/4 -> (1-2-4-5)
?? -> Power Chord -> (1-5)
If there is not a quality written on a chord it is implied to be Major.
The highest degree well, it's the highest degree of the chord wether it is:
5 -> (1-3-5)
6 -> (1-3-5*-6)
7 -> (1-3-5*-7)
9 -> (1-3-5*-7-9)
11 -> (1-3-5*-7-9-11)
13 -> (1-3-5*-7-9-11-13)
* -> The note can be omitted
The seventh modifier is the only modifier that is in some way standard a chord, this tells what the interval from the root to the seventh.
maj7 -> Major Seventh
min7 -> Minor Seventh
And the secondary chord modifiers are the ones that are used upon the previous characteristics. This is the list of modifiers I have seen:
Add(X) -> This modifier adds X note to the chord
No(X) -> This modifier omits X noto from the chord
I have some concerns with this approach, I am not sure that Suspended chords are a quality or a modifier, and also I don't know if a chord can only have one modifier, or can it have more?
Can someone lead me to a good post or book on this topic?
2 Comments
Sorted by latest first Latest Oldest Best
In order of building the chord symbol:
Letter and accidental for the root.
Chord (triad) types or qualities: major, minor, augmented, diminished. No symbol implies major.
Power chords are often shown with a 5 like A5 meaning just an A root and a fifth above, no third. I suppose this can be consider as applying at the same level as triadic type.
The next part is a little tricky. Basically, after triads there are seventh chords, then extended chords for ninths and higher. You called this "highest note." You might simply use the term "extension" for sevenths through thirteenths, extension being applied to simple triads.
About "seventh modifier", the default qualities of the 7 through 13 are those of a diatonic, dominant thirteenth chord. In other words, the default is to use only a number with the assumed qualities m7, M9, P11, M13. Use a sharp/flat modifier on the extension only if it differs from those assumed qualities.
Modifiers. This also is a bit tricky, because you have to account for the fact that modifiers overlap with the basic triad types. Example: Cmb5 is logical but unnecessary, because you can use the simple triad type Cdim.
Regarding omissions, I've seen 'omit' written on chord symbols, I think this isn't a well defined standard.
I am not sure that Suspended chords are a quality or a modifier
That's because the chord symbol system isn't totally logical and the sus isn't used consistently, often it isn't even used to label an actual suspension. Logically it should refer to a suspension of the tone below so a sus4 should be a suspension of the third. That's the triad level. Logically you might expect Cmin-sus4-7 but my convention the modifiers go last Cmin7sus4. Also, logically it's a modifier not a quality. Csus4 means C F G without the third you can't know the quality, you have to resolve the suspension to know the quality Csus4 Cm - in that example the ambiguous suspension resolved to a minor chord.
...also I don't know if a chord can only have one modifier, or can it have more?
You can have multiple modifiers, like G7#5sus4, there doesn't seem to be a convention about the order other than putting them last.
So, the object is something like:
<root><triadic-type><extension><modifiers>
See www.scales-chords.com/chordid.php for a remarkably thorough and accurate application of chord naming conventions.
I think (naively) the problem is comparable to converting values between number systems. The cumbersome example that comes to mind would be developing a systematic conversion between hexadecimal and roman numerals. Fundamentally, the issue focuses on the identification of multiple stacked intervals using "natural" language. Chord naming is based on conventions developed from the 10th century on-wards. Then add to that the complexity of translation between languages. The example I have is the German usage of "moll", "dur", "klein", and "groß". The German term "großer Dur Septakkord" becomes in English "major–major seventh". The German is more descriptive while the English sounds inarticulate and redundant. An exercise left to the student: get the French, Italians, Czechs, Russians, Poles, Chinese, Japanese, Koreans, and Arabs to agree on a standard naming system.
Terms of Use Privacy policy Contact About Cancellation policy © freshhoot.com2025 All Rights reserved.