chordetector_pd is the puredata implementation of the chordetector reference algorithm (available here).
The patch performs a live sound processing from the microphone input and guesses the played sound. As far as I know this is an original implementation, making use of fft, data binning to match fft components into discrete notes pitches, octave-folding, and a manually-built neural network, to estimate the best-matching chord pattern.
In the current implementation, the neural network does not require any training as it is only based on “a priori” guess of the chord patterns: this approach will work best with “pure sinewave” instruments, and will probably perform poorly with instruments with rich harmonic sounds (i.e. a distorted guitar, I guess).
The algorithm is able to distinguish between different simple and complex chord patterns, including single-pitched notes (ie tuner function), power chords, major, minor, diminished, and 7th.
A big thanks goes to Corentin Thiercelin, who helped me starting with this project in PureData, and without who this patch would have never seen the light.