Formal definition of an inverted chord

Question:

Is there a formal definition that would apply to all chords / genres of what an inverted chord is? Given a chord, I want to formally prove on paper (so not using my ears) that the chord is inverted or in root position.

What I tried:

I tried finding a proof using intervals.

We know that the lowest note played in a chord denotes its inversion, regardless of the order of the higher notes

We also know that all triades and 7th chords are built on thirds.

In this context, a chord is inverted if the interval between two consecutive notes is less than 3 or more than 4 semi-tones. Using this approach we can prove `E G B C` is inverted (it is actually the first inversion of `Cmaj7`). This approach works with a lot of common chords such as `C`, `Cmaj7`, `F7`...

Problem:

This rule does not apply to other chords like sixth chords (e.g. `Cm6`), ninth chords (e.g. `C9b5`), suspended chords (e.g. `Csus2`, `Csus4`) and other chords like `C13`, `Cmaj13`, etc...

So is there a formal definition which would apply to all the aforementioned chords to prove if they are inverted or in root position?

Related question:

What implications do the formal rules of inversions have for suspended chords?

Some answers to this question seem to suggest that there is no universal definition which would apply to all types of genres / musical context / types of chords.

But surely we are able to tell if a chord is inverted or not, so there must be some kind of formal proof/definition (or a set of definitions) somewhere.

• Sorry, don't get it. Inversion is permutating the chord notes, which you can do with any chord. It may not sound well, UNLESS you start distributing the notes over octaves. // One example is to have e.g. only root or 5th in the LH on piano, and all or some of the remaing ones in the RH, moved to the right (higher pitches). // It may also be useful to omit notes/pitches, which do not contribute to the chords distinguished character. CEB would be an example: C=1st root, E=3rd defines major or minor, G=5th common to BOTH maj and min, B=7th, in contrast to Bb is very characteristic to that chord. Nov 11, 2022 at 10:40
• I wrote an actual working implementation of the algorithm that, according to the accepted answer, cannot exist. The algorithm says that "['C', 'E', 'G', 'A'] is an inversion of ['A', 'C', 'E', 'G']", because that's how I defined "inversion". It also says that "['C', 'D', 'G'] cannot be said to be an inversion of any canonical stack of thirds." again because of the definition. If one specifically wants an algorithm for such a definition of "inversion" for which an unambiguous answer cannot given, then by definition, an unambiguous answer cannot be given. Nov 12, 2022 at 15:15

This is not possible.

PROOF: Given the notes A-C-E-G and no other information, it's impossible to know whether this is a `C6` or `A-7` chord. Therefore, it cannot be determined whether the chord is in root position or not.

See also How would you identify the root of a non-standard chord / cluster?, which is fundamentally the same question. Since one cannot clearly identify the root of an arbitrary chord, it follows that one cannot determine whether or not a chord is inverted.

• Thank you, your answer is precise and to the point Nov 11, 2022 at 10:27
• I reckon that only really works for , say Am7/C6 and Am7b5/Cm6, and the diminished and augmented chords. And often (not always!) the root can be determined from context. Most others will have one specific root, which is identifyable.
– Tim
Nov 11, 2022 at 11:56
• Key problem: worrying about inversion has to come after chord identification. Nail it down to either C6 or A7 and then it's easy. Theoretical analysis has an order of operations. (And it doesn't start with just looking at the stacks of dots and identifying them as A7 either! It has to start with the very biggest view, assessing tonality and form, and then smaller analyses can be informed by context.) Nov 11, 2022 at 12:39
• @Tim do you mean it is not even a context dependent grammar? Does it depend on the listener as well which chord it is?
– Emil
Nov 11, 2022 at 21:17
• @Emil - even the key is sometimes 'listener dependant', although often it's obvious which chord it will be.
– Tim
Nov 12, 2022 at 7:27

The concept of "inversion" is usable in some harmonic styles and situations, and sometimes it is even useful. In some conditions or styles, it is possible to unambiguously answer the inversion or not question. Outside those conditions the question can be ambiguous. In the following, I formulate a style or discipline of using chords, where it IS possible to say if a chord is an inversion, and where it's also possible to say if a chord falls outside this area of applicability. In other styles the concept may still be useful, for example for finding a roughly equivalently behaving chord, even if a canonical non-inverted chord cannot be found.

I'm not saying that this is the ONLY possible harmonic system where the inversion question is unambiguous, but it is ONE such system.

Definition

• By this Definition, the "inversion or not" question only applies to chords that are Pure Stacks of Thirds.
• A chord is (within this definition) a Pure Stack of Thirds, if and only if its note names (ignoring octaves) can be ordered so that the notes form a continuous chain of thirds, and thirds only. If you want maths and more formal-looking things, you can imagine something about modulo 7 arithmetic, where accidentals are thrown away from note names, and the remaining letters are assigned numbers C=0, D=1, E=2, F=3, G=4, A=5 and B=6, and you have to find a permutation for the notes where the sequence goes like note (x) = note (x-1) + 2 (modulo 7), for every 1 < x <= N, where N is the number of notes in the chord. If you can find no such permutation, it is not a stack of thirds. If you can, it is.
• By this Definition, note combinations of less than 3 or more than 6 notes are not considered.
• By this Definition, if a note combination CAN be expressed as a stack of thirds, then the stack-of-thirds permutation is its canonical form, and other names are non-canonical aliases.
• By this Definition, if a note combination CANNOT be expressed as a stack of thirds, then it is outside the scope of this "inversion or root position" logic. For example C-F-G.

So, our isInversion(noteArray) algorithm gives the following possible outputs:

• 0 : noteArray can be expressed as a stack of thirds, and the root note is the lowest note: it is in root position
• 1 : noteArray can be expressed as a stack of thirds, and the root note is not the lowest note: it is an inversion
• 2 : noteArray cannot be expressed as a stack of thirds.

With these requirements and logic, we can say that "C6", C-E-G-A, is a non-canonical alias name for an inversion of Am7: A-C-E-G. Its canonical systematic tertian-harmony name would be Am7/C.

I set an extra limitation to exclude 7-note chords, which allow a full circle around the 7-note modulo arithmetic. If all seven note names are included, then the stack of thirds is ambiguous. For example, C-D-E-F-G-A-B could be said to be Cmaj13 in root position, or Fmaj13(b5) with C in the bass.

If we compare the theoretical model defined above with example chords you can find in the Real World (tm), we'll find lots of chords that either aren't stacks of thirds according to the Definition (and thus it's not possible to give an unambiguous answer to the inversion problem), or which are "incorrectly" named.

• sus chords (no stack of thirds permutation)
• 6 chords (misnomer of m7 inversion)
• "2" chords (no stack of thirds permutation)
• "add" chords (no stack of thirds permutation)
• "5" chords (no stack of thirds permutation)
• anything with the a number "8" or "10" etc.

You'll find lots of that stuff in practice. So the next time you see someone claiming that a chord "actually is" something, for example that C6 is "really" or "actually" an inversion Am7/C, then maybe that person is coming from a theory fantasy land. Take it with a grain of salt. Use theory if it helps you make music.

Actual Implementation

A computer program is a formal definition. Here is a Python program which answers the "inversion or not" question.

``````import music21
import itertools

def pitchNumber(pitch):
return (7 + ord(pitch.name[0]) - ord('C')) % 7

def isCanonicalStackOfThirds(pitches):
if (2 < len(pitches) < 7):
for i in range(1,len(pitches)):
n_i = pitchNumber(pitches[i])
n_p = pitchNumber(pitches[i-1])
if ((n_i + 5) % 7 != n_p):
return False
else:
return False
return True

def findCanonicalStackOfThirds(chord):
for p in itertools.permutations(chord.pitches, len(chord.pitches)):
if isCanonicalStackOfThirds(p):
return p
return None

def inversionStatus(chord):
canonical = findCanonicalStackOfThirds(chord)
if canonical is None:
return False, canonical
if chord.pitches[0] != canonical[0]:
return True, [pitch.unicodeName for pitch in canonical]
else:
return False, [pitch.unicodeName for pitch in canonical]

for noteSet in ([ \
['F#', 'D', 'A'],
['D', 'A', 'F#'],
['C', 'F', 'G'],
['C', 'E', 'G', 'A'],
['Db', 'Ab', 'F', 'C'],
['C', 'Ab', 'F', 'Db'],
['G', 'F', 'B', 'Eb'],
['G', 'F', 'B', 'D#'],
['C', 'D', 'G'],
['F', 'C', 'E', 'G', 'Bb', 'D'],
]):
chord = music21.chord.Chord(noteSet)
isInversion, canonicalChord = inversionStatus(chord)
if canonicalChord is None:
print (str(noteSet), ' cannot be said to be an inversion of any canonical stack of thirds.')
elif isInversion:
print (str(noteSet), ' is an inversion of ', str(canonicalChord))
else:
print (str(noteSet), ' is in root position. Canonical form: ', str(canonicalChord))
``````

Here is the printout from a run:

``````['F#', 'D', 'A']  is an inversion of  ['D', 'F♯', 'A']
['D', 'A', 'F#']  is in root position. Canonical form:  ['D', 'F♯', 'A']
['C', 'F', 'G']  cannot be said to be an inversion of any canonical stack of thirds.
['C', 'E', 'G', 'A']  is an inversion of  ['A', 'C', 'E', 'G']
['Db', 'Ab', 'F', 'C']  is in root position. Canonical form:  ['D♭', 'F', 'A♭', 'C']
['C', 'Ab', 'F', 'Db']  is an inversion of  ['D♭', 'F', 'A♭', 'C']
['G', 'F', 'B', 'Eb']  cannot be said to be an inversion of any canonical stack of thirds.
['G', 'F', 'B', 'D#']  is in root position. Canonical form:  ['G', 'B', 'D♯', 'F']
['C', 'D', 'G']  cannot be said to be an inversion of any canonical stack of thirds.
['F', 'C', 'E', 'G', 'Bb', 'D']  is an inversion of  ['C', 'E', 'G', 'B♭', 'D', 'F']
``````
• @Dekkadeci In this model they need to be complete perfect stacks of thirds, or otherwise they're out of scope. I find explicating this theory useful, because I've seen it said so many times that a chord is "actually" so-and-so, or written "incorrectly" etc. I tried to list the kinds of chord symbols which don't follow the pure systematic logic. It should be obvious that this excludes a lot of real music without even going to quartal harmony or anything like that. This hopefully leads a reader to see that music is not a natural science and theoretical models have limited applicability. Nov 11, 2022 at 17:07
• @Dekkadeci I don't see the problem. Both sus4 and sus2 are not chords in this model. What am I missing? Nov 11, 2022 at 18:52
• @Aaron I'm not sure about that, I tried to formulate the rules how a theory purist might define it. If there's a quadruple-augmented third, does it matter that it sounds weird, if it fits the theory? :) I'm trying to highlight how a theory like this kind of exists in its own space, and its usefulness ultimately comes down to how the ideas can be utilized for communication, reasoning etc. in practical scenarios. Nov 11, 2022 at 19:02
• @Dekkadeci Like I said, "sus" chords are out by definition. Like 6 and "add" chords, they are diversions from the purely theoretical model that's the most basic idea in chord naming. I've noticed a change in attitudes - some years or decades ago I think many people would jump at "2" chord names and claim that the number should be "9" to be correct because of the system. Sometimes it even felt like implying that a stack of thirds was a "fact of nature", because that's how they were taught in a music institution. But as time goes on, the use and acceptance of exceptions get more and more common. Nov 11, 2022 at 19:07
• @Dekkadeci I disagree on sus2 being self-evidently in root position. It could sound like an inversion of a sus4 just as well, depending on context and expectations. Talking about practice now, not this theory purist model. Nov 11, 2022 at 19:15

In addition, No, the interval analysis approach will not be accurate for another reason: chord voicings may not come in the tightest possible form (close position), so there are issues with even the simplest chord qualities.

For example, [Db Ab F] is a root position Db major triad:

a chord is inverted if the interval between two consecutive notes is > less than 3 or more than 4 semi-tones

Applying the logic from the question itself, the interval between Db and Ab is wider than 4 semitones, and thus the algorithm incorrectly detects an inversion.

This could be remedied by checking each note against the entire set of input notes for the pitch class 1 semitone higher (or any enharmonics, depending on desired behaviour), then 2 semitones, 3, and finally 4.

But for a true useful algorithm, you'd probably have to compare the notes in the set against every possible chord root and then check for every single valid chord type to really search for inversions, and then your output is more like a collection of possibilities rather than a binary "inversion/root position" identifier.

• I don't know what algorithm you're talking about, but my algorithm would find the permutation Db-F-Ab as the canonical form and say that Db-Ab-F is in root position, because the lowest note of Db-Ab-F is Db, and that's the lowest note of the canonical form. Nov 12, 2022 at 12:56
• @piiperiReinstateMonica it seems that your algorithm, therefore, is to adjust the octave of all notes except for the lowest. This would work for a lot of chords, but what about determining whether something is a sixth or a 13th (does it matter?) or a second or a ninth? Is C9/F a fifth inversion ninth chord? Would that be a useful theoretical concept or just an interesting abstraction? Nov 12, 2022 at 15:01
• @phoog Can you give a list of pitches? My algorithm only considers stacks of thirds of fewer than 7 notes. If it's not a full stack of thirds, it says that the chord "cannot be said to be an inversion of any canonical stack of thirds." All sorts of "add" chords are ruled out. For the notes of "C9/F", my algorithm says that it's an inversion of ['C', 'E', 'G', 'B♭', 'D', 'F'] Nov 12, 2022 at 15:28
• @piiperiReinstateMonica ah, ok, I didn't realize that "your algorithm" was referring to your answer. I'll read it now. Nov 12, 2022 at 15:43
• @piiperiReinstateMonica Ah, sorry for the confusion. The "algorithm" I was referring to in my answer was the one from the question itself ("a chord is inverted if the interval between two consecutive notes is less than 3 or more than 4 semi-tones"), didn't mean to bring you into this. I'll edit for clarity. Nov 12, 2022 at 20:43

The inversion concerns itself with what note is at the bottom or in the bass. Which note of the chord is the lowest.

If you have a C Major triad, if the C note is the lowest then you would say the triad or chord is in root position.

If it is the E note, then the chord is in first inversion, and if it is the G note is in the bass, then the chord is in second inversion.

There is also a third inversion for four note chords. If you, for example have the Dominant seventh chord of C major (GBDF) and you have F note in the bass then your chord is in third inversion.

There may also be a plethora of ways the chord is harmonized in the other voices, but this is not relevant to inversion as that only concerns itself with what is happening in the bass.

• OP clearly knows the definition of an inversion. This post doesn't address the actual question. Nov 12, 2022 at 16:02