I’m trying to make use of ChordRecognizer / FindChordName. I have some samples that contain full orchestra chords (major, minor, diminished and dom7). I’d like to detect if the currently played chord is a major or minor chord (or none of them).
I’ve seen that the algorithm seems to always consider the lowest note to be the root note so the recognition only works if the chords are played in root position. In real life that’s not very helpful for me because I use every voicing in all inversions. So I first tried to extend the ChordRecognizer with RemoveChordInterval and AddChordInterval but this can’t use the root note issue.
If I could manage that, my approach were to figure out if the found chord type is a “Min 6th”, then take the root note, convert it into an integer and subtract 4 to get my “real” root note. And the same thing for “Major 2nd” and -5. By the way: Recognizing “C F A” results in “C major 2nd” which in fact has to be “F major 2nd”.
Thanks for any suggestions or help!