Chord-Melody Tension algorithm doesn't recognize enharmonic equivalents

This is an issue because:

  1. Many people don’t pay attention to spelling when transcribing songs.
  2. Putting a D# in the melody over a C minor chord is horrible spelling, but not dissonant (at least not in 12 TET).
  3. If a non-diatonic chord contains an enharmonic equivalent of a diatonic note, you will inevitably trigger this bug when placing that note in the melody, as enharmonic equivalents of diatonic notes aren’t available in the note staff. For example trying to flatten an F in the key of C major will always result in an E.

This issue is illustrated by this TheoryTab where the melody exclusively contains root notes, but the Chord-Melody Tension is at 99. Credit for finding this bug goes to @anon74183762.

2 Likes

I would say it is even more weird that the chord melody tension isn’t at 100 except it is at 99

Maybe the algorithm considers some intervals to be even more dissonant than an augmented 7th. Your chord melody tension glitch test had a doubly augmented 9th on the first chord, maybe that’s why it was rated 100 before I fixed the spelling.