Take the 2-minute tour ×
Musical Practice & Performance Stack Exchange is a question and answer site for musicians, students, and enthusiasts. It's 100% free, no registration required.

I'm searching for chord recognition algorithms that will assign a chord name(s) to a group of notes, and related literature.

I'm not looking for programs that do this. I'm looking for the algorithm, the code; a way to achieve this, the instructions.

An example: If we give the algorithm the notes C, E, G, the algorithm should name that group of notes as "C major triad in root position".

share|improve this question
Are you looking for something more than the answers you got on this SO question? –  Ben Miller Oct 18 '13 at 15:24
@BenMiller Yes I am. I'm specially interested in methodology and/or literature and/or research on the subject. I'm also interested in the input from musicologists, in contrast with the input of software engineers that SO provides. –  JCPedroza Oct 18 '13 at 16:03
add comment

3 Answers

In addition the to answers already made, you should be aware that using the algorithmic-generated chord names can be "musically inaccurate" in the context of an harmonic analysis.

Depending of the context, you can have for instance BDF ("B dim") play the role of GDBF ("G Major 7"). If it's resolving to a C Major, you'll want to see BDF as a rootless dominant 7, not as a B diminished triad.

Rootless voicings is only an example : a software will have a difficult time with these little nice "implicit/ambiguous" things that make music an art :)

share|improve this answer
Why can't the algorithm be context-aware? It can analyze the complete progression. Even if it isn not context-aware, it can provide a list of possible meanings. It doesn't need to be perfect. Its purpose is not to override my knowledge, I already know how chords are named. Thanks for your input. –  JCPedroza Oct 19 '13 at 1:42
add comment

A while back I worked on a Python module that performs similar tasks.

Take a look at the –triadType flag.

share|improve this answer
add comment

Perhaps you can contact the developer of "Chords"... the android app that is almost, ...almost... all anyone ever needs in chord naming, inversions, locations on the fretboard etc.


share|improve this answer
add comment

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.