How Chordcat works – a chord naming algorithm

An algorithm for automatically naming musical chords from their component notes has prompted debate over whether such systems can ever match human musicianship. Commenters argue that good chord labels depend heavily on musical context, key, genre, voicing, and even notational “dialect,” while many algorithms treat chords as isolated pitch sets built strictly from thirds. Several point out that this leads to misleading names for slash chords, inversions, extended or quartal harmonies, and that any useful tool will likely need probabilistic models or additional inputs (like key and bass note) rather than a purely static lookup.

Context-free chord analysis & its limits

  • Many argue that analyzing chords in isolation is inherently weak.
  • Good chord notation is seen as contextual: it should reflect key, progression, voice leading, and even genre.
  • Baroque and modal examples are mentioned where vertical “chord at a moment” analysis fails; function comes from voice leading instead.

Slash chords, inversions, and bass context

  • The algorithm is said to mishandle slash chords (e.g., G/C), often relabeling them as suspensions.
  • Several comments stress that the bass line and voicing strongly affect how a chord should be named.
  • Debates arise over whether some voicings are better seen as slash chords (C/E, G/B) vs reinterpreted triads with altered intervals.

Chord naming ambiguity & enharmonics

  • A recurring criticism: mapping an unordered set of notes to “the” chord name is ill-posed.
  • The same pitch set (e.g., C–E–G–A or A–C–E–G) can legitimately be multiple chords (C6 vs Am7), with the “right” name depending on key and function.
  • Enharmonic spelling (e.g., B# vs C) matters for theoretical correctness and implied scales, but the algorithm ignores this.

Jazz, altered chords, and the “Hendrix chord”

  • Extended and altered chords expose notation ambiguities (e.g., #9 vs b10, or labeling the Hendrix chord).
  • Some prioritize scale implication and functional role (dominant vs minor) over conventional labels.
  • There’s disagreement on which chord symbols best communicate improvisational context.

Beyond chords built on thirds

  • Several point out that chords are not always tertian: cluster chords, quartal/quintal harmony, polychords, and barbershop-style 7ths complicate any “built on thirds” assumption.
  • Debate over whether thirds have a deep physical basis (via harmonic series) or are mainly historical/cultural.

Keys, scales, and 12-tone structure

  • Some suggest that at minimum the algorithm should infer or take a key to disambiguate roots and common spellings.
  • Side thread on why the 12-tone system and diatonic patterns (2212221) matter; some see largely historical reasons, others point to consonance patterns and global parallels.

Algorithmic extensions & tools

  • Ideas proposed: wrap the chord-namer in a Hidden Markov Model or similar probabilistic model to use chord-to-chord transitions.
  • Others suggest factoring in note spacing to detect bass notes and distinguish add9 vs sus2, etc.
  • Existing chord-identification libraries and curated chord sets are referenced as more robust or more narrowly-scoped alternatives.

Language and notation side-discussion

  • A long subthread debates punctuation and comma usage in the article; it morphs into descriptivist vs prescriptivist views on language and readability.