Chord recognition problem

Hi all, just wanted to report a problem with the chord recognition algorithm. As you can see from the picture attached, this chord has been classified as a major 7th but it’s a dominant 7th instead, so the correct symbol would be Eb7 (or Eb7/G to be even more precise).

I know that this is probably a super low priority, but maybe it’s something tat can be fixed in a future release :slight_smile:


Schermata 2020-04-15 alle 10.49.58.png

It’s not the recognition that’s the issue; it’s the way that the individual elements of the chord text are concatenated. If you just play an Eb chord Dorico will give you “Ebmaj”. If you add a Db, Dorico takes that “Ebmaj” and adds “7” onto the end. You and I know that that is generally read by humans as “Eb” plus “maj7”, which is a totally different thing; this bit of code doesn’t.

I don’t know what the algorithm is, if it’s just a concatenation or not (I doubt it cause it correctly identifies the root in an inversion), but the result is wrong. Even “Ebmaj” for a triad is strictly not correct, the correct symbol is “Eb”. Now, in the case of a triad it’s less of a problem, every musician would interpret that as a major triad with a uncommon symbol, but in the case of a 7th chord the symbol is that of a completely different chord. If I read Ebmaj7 I expect a D natural, the chord contains a Db instead.

Dorico currently always shows “maj” if the chord quality is major, even if there is subsequently an interval that alters the quality, like a dominant 7th. I’ll see if we can make it a bit smarter and not show “maj” if an interval is also present.