I am trying to understand how to properly build and name 7th chords, the way of doing this is by adding a major/minor/diminished seventh to a triad, so having 4 chord qualities gives a total of 12 possible 7th chords, but there are exceptions as always.

-> Chords should be built upon stacking major and minor thirds <-

For a diminished triad you can't add a major seventh because the distance between the fifth which is a flattened fifth "b5" (diminished fifth) and a M7(major seventh) is an augmented third. (Gb to B)

For a major and minor triad you can't add a major seventh because the distance between the fifth which is a fifth "5" (fifth) and a d7(diminished seventh) is a diminished third. (G to Bbb)

For an augmented triad you can't add a diminished seventh because the distance between the fifth which is a sharpened fifth "#5" (augmented fifth) and a d7(diminished seventh) is a diminished third. (G# to Bb)

Hence ending with 8 possible 7th chords.

enter image description here

As you can see on the image above all triad qualities can have a minor seventh added to it, so in a chord: 7 = m7, b7 = d7 , #7 = M7

as for naming

Diminished triad + Diminished triad -> Diminished Chord
Diminished triad + Minor triad -> Half Diminished Chord

Minor triad + Minor triad -> Minor Chord
Minor triad + Major triad -> Minor Major Chord

Major triad + Minor triad -> Dominant Chord
Major triad + Major triad -> Minor Major Chord

Augmented triad + Minor triad -> Augmented Chord Augmented triad + Major triad -> Augmented Major Chord

I have no idea if this is right or wrong, it is just the way I understand things, so do you think this is the proper way to build and name Seventh Chords?

  • this is essentially a repeat of music.stackexchange.com/questions/86984/… Jul 25 '19 at 22:40
  • I do not agree, this is specifically of 7th chords Jul 25 '19 at 23:20
  • This one is just a sub-set of the other. But my main point is you aren't acknowledging there is not one universal naming system covering all combinations. The way to learn this is study classical and jazz harmony. Then you will know how to name them in the two most common systems. Jul 25 '19 at 23:25
  • Great, thanks for pointing me on to where learn this from. Jul 26 '19 at 0:56

I am trying to understand how to properly build and name 7th chords

I think the least confusing way is to start with diatonic seventh chords...

  • dominant seventh
  • minor seventh
  • major seventh
  • half-diminished

...then add the functional chromatic seventh chords...

  • diminished seventh
  • German augmented sixth
  • French augmented sixth

...note that those chromatic chords are commonly found in minor keys and the diminished seventh and diminished thirds found in those chords all involve the lowered sixth scale degree from the minor mode along with either the seventh or fourth scale degrees raised to create a leading tone.

Normally the augmented sixth chords are not categorized with seventh chords. I listed them here because technically they use four pitch classes and can be re-order as a series of thirds. In consideration of programmatically listing all possible combinations it seems worth noting that some seemingly odd combination result in standard chord types.

Finally there is the system of triad plus a seventh. In that system there are certain combinations what have names like the minor major seventh while others don't like a diminished triad plus a major seventh. While such chords may not have names they can be written with jazz symbols like @LaurencePayne showed Cm(maj7)(♭5) and of course you can write any of them in staff notation.

This is sort of a progressive approach. Working from diatonic to chromatic. Importantly not all the possible seventh chords have names. Basically the commonly used chords have names and rarely used ones don't.

If you are trying to write a computer program, you must decide what the output will be. Is it C:V7, G dominant seventh, or G7?

Depending on the limits of the name output you might decide to return an error or some not a named seventh chord value. For example, C# E# G# Bb is technically a major triad plus a diminished seventh. You could call it a major diminished seventh. But enharmonically it sounds like C#6 or it could be enharmonically respelled to be called a Bb minor seventh chord.

You have to decide what to do with the unusual cases. Return an error, use an unconventional name, or possibly enharmonically respell the chord to a commonly named chord.


Just adding an idea about how to name and programmatically handling enharmonics.

Maybe a good approach is to examine the input for non-diatonic intervals, then do the enharmonic re-spelling to attempt to find a diatonic (or otherwise commonly defined) seventh chord.

First learn interval encodeing like d3 for diminished third, m7 for minor seventh, etc.

Then use a list of the diatonic intervals which are the major and minor seconds, thirds, sixths, and sevenths, and the perfect fourth, fifth, octave, and the diminished fifth and augmented fourth: m2 M2 m3 M3 P4 A4 d5 P5 m6 M6 m7 M7 P8.

Three cases:

  Maj  d3
 /   \ /\
C# E# G# Bb
  \     /

I suppose you could work from either the d3 or the d7, but I'll use the d3.

The d3 isn't diatonic, so we en-harmonically re-spell. Pick one of the tones of the d3 and keep it, then re-spell the others. So there are two options:

(Db)(F)(Ab) Bb in tertian order Bb (Db)(F)(Ab)

C# E# G# (A#) in tertian order (A#) C# E# G#

...the chord can be re-spelled two ways to get a common minor seventh chord.

I used parenthesis to show a re-spelled tone.

  Min  d3
 /   \ /\
C# E  G# Bb
  \     /

...the re-spellings are...

(Db)(Fb)(Ab) Bb in tertian order Bb (Db)(Fb)(Ab)

C# E# G# (A#) in tertian order (A#) C# E# G#

...the chord can be re-spelled two ways to get a common half-diminished chord.

All four of the re-spellings are comprised of diatonic, major/minor thirds.

  dim  A3
 /   \ /\
C  Eb Gb B
 \      /

...the re-spellings are...

(Dbb)(Fbb)(Abbb) B in tertian order B (Dbb)(Fbb)(Abbb)

C Eb Gb (Ax) in tertian order (Ax) C Eb Gb

None of these spelling entirely diatonic, major/minor thirds, nor a full diminished seventh chord.

The tone spellings get really ugly fast!

You could handle the tones as an object with letter and numeric properties like {"letter":"E","accidentals":0} and {"letter":"A","accidentals":-3} then calculations are easier: E to A is a P4 and 5 semi-tones, subtract 3, ddd4 a triple diminished fourth, and the final distance is 5 - 3 = 2 semi-tones. A _to_text()_ function could then output Abbb for musical display.

  • Michael thanks, the code I am writing is supposed to print chord names in 2 ways a text version "G dominant seventh", and a symbol version "G7", the way I am handling the modifiers is I have that I have restrictions on which modifiers can be used on any quality, I am not sure if this is ok, if the code will be losing important chords. I think that the way to go with those exceptions will be to transform the chord for example a C major chord + diminished 7 should be transformed to a C major chord + major Sixth. I don't know if this is a practical way of solving exceptions. Jul 26 '19 at 1:10

Actually you can add a major 7 to a dim triad, it will just sound "interesting". It looks like you are trying to write code to build chords. It also looks like you are not completely familiar with the musical jargon. Your general formula is correct, you stack thirds. If you apply this to the Maj scale you create 7 7th chords. Stacking 3rds amounts to skipping every other step in the scale.

The scale tones are denoted (1, 2, 3, 4, 5, 6, 7, 8 = 1).


(1, 3, 5, 7) = I Maj7 in any key

(2, 4, 6, 8) = ii min7 in any key

(3, 5, 7, 9) = iii min7 (etc)

(4, 6, 8, 11) = IV Maj7

(5, 7, 9, 11) = V dom7

(6, 8, 10, 12) = vi min7

(7, 9, 11, 13) = vii min7 (b5)

Now, you can alter any of these to create more exotic chords. You are probably thinking that the only "3rds" there are are Maj and min, 4 half steps and 3 half steps respectively (relative to 12 tone equal temperament). The term 3rd can also refer to the relative letter name of the notes. One can diminish a minor third or 7th notes of the scale. For example a dim7 is a double flatted 7th (in the key of C this would be B double flat which is identical to A the sixth degree in 12TET). But if it is written Bbb it is still the seventh degree and not the sixth. Similarly one can do this with other notes of the scale and they retain their "title" relative to the key. So calling something a 3rd has as much to do with nomenclature as it does with frequency difference. In Just tuning there could be actual differences between a bb7th and a 6th but 12TET they are identical (enharmonic).

You can build the chord you mention starting from a Maj7, in C for example.

CMaj7 = (C, E, G, B)

Apply the "flat operation" once to the third and once to the 5th,

(C, Eb, Gb, B)

The frequency difference between the Gb and the B is a 4th but the proper nomenclature remains the same in that these notes are (1, b3, b5, 7). I am pretty sure there is no such thing in music notation as an augmented 3rd.

My point is that (1) there is more than definition of a 3rd diminishing a min 3rd essentially creates a second but it would still be called a third (Ex: Ebb is still a "third" relative to C), and (2) that there is more than one approach to building chords! The rubric "stack thirds" is a great way to start learning the mathematical relationships between different 7th chords in a given Key signature, and exotic extensions up to the 13th. But it is not a hard an fast rule that all chords must be constructed this way! Consider Pat Martino's way of looking at everything as an embellishment of the diminished chord, this is an amazingly efficient way of connecting chords forms on the guitar. And it would be easy to write a program that did things Pat's way. But that isn't the final word on the matter.

  • I am quite aware how intervals work, thanks for pointing that out. I am trying to systematize and abstract musical chords. It's great to know that there are many ways of dong things, maybe I will try to develop a code that applies Pat Martino's method, but, where can I learn it first? Jul 26 '19 at 1:12
  • 1
    There is a pair of books called Creative Force I, and II that cam out in the late 80s or early 90s. The idea behind it is described in part I. I didn't mean to be insulting w/r to the interval comment, but a lot of players are unaware of the multiple uses of a term (including me). It sounds like a cool idea but you are mathematically systematizing something that may not be completely systematic or regular. There are outliers in music. Is your goal to have the s/w identify chords based on a vector or array of note names?
    – user50691
    Jul 26 '19 at 10:41
  • The software that I am developing are Building Blocks for MIDI Devices mainly, so this are going to be used on keypads, sequencers, etc. I think it could be a nice tool to be able to rapidly build on Hardware Devices. I would want to build and display a selection of chords for the scale the user is building on. I want the software to be able to build chords based on A chord name or Based on a collection of notes. The software is currently capable of processing Notes, Intervals and Scales, so I can add notes with intervals, measure interval between notes, sharpen and flatten notes, etc. Jul 27 '19 at 20:16

You've got a bit muddled in that diagram, I think!

Anyway, you can have a diminished triad with a major 7th if you like.

C, E♭, G♭, B♮.


But you're not likely to find any chord with an augmented 7th. It would sound SO like an octave... :-)


I have made an overview over at Wikipedia: Seventh chord.

The names of the 7th chords are to be found in columns tetrad and alt tetrad. Their symbols vary by naming system used and are not included.

List of any 7th that can be constructed by below (+2 edges added)

  • a. a min or maj 3th
  • b. a dim, perfect or aug 5th
  • c. a min or maj 7th


   -pitch inter 3th 5th triad   alt triad   7th tetrad          alt tetrad  intervals
   -0,3,6,9     min dim  dim                dim dim7                        min min min
   -0,3,6,10    min dim  dim                min half-dim7         min7(b5)  min min maj
   -0,3,6,11    min dim  dim                maj dim-maj7      min-maj7(b5)  min min aug
   -0,3,7,10    min p    min                min min7                        min maj min
   -0,3,7,11    min p    min                maj min-maj7                    min maj maj
   -0,3,8,10    min aug          min(#5)    min                   min7(#5)  min aug dim
   -0,3,8,11    min aug          min(#5)    maj               min-maj7(#5)  min aug min
   -0,4,6,10    maj dim          maj(b5)    min                   dom7(b5)  maj dim maj
   -0,4,6,11    maj dim          maj(b5)    maj                   maj7(b5)  maj dim aug
   -0,4,7,10    maj p    maj                min dom7                        maj min min
   -0,4,7,11    maj p    maj                maj maj7                        maj min maj
   -0,4,8,10    maj aug  aug                min aug7              dom7(#5)  maj maj dim
   -0,4,8,11    maj aug  aug                maj aug-maj7          maj7(#5)  maj maj min
   -0,4,8,12    maj aug  aug                aug aug-aug7                    maj maj maj

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.