I realise there are a fair few questions on here already with regard to chord detection algorithms; however, most of these seem to be relating more to interpreting songs into sets of chords or chord transcription. My problem ought to be a lot simpler as I am only interested in recording a single strum of a guitar chord and then analysing this to return the chord that was played. And, if this proves to be too difficult, it would be somewhat adequate to simply be able to tell if a particular chord is being played correctly or not, e.g. a user is presented with a chord to attempt to play and, after strumming, the application will tell them whether or not they played the correct chord (something of a memory game). I would think this second option would be easier since the application would already know what chord to expect.
I am already using an FFT and the Harmonic Product Spectrum for a guitar tuner as part of the same application and would really like some advice on how I could analyse the frequency spectrum output by the FFT to recognise guitar chords. I am also open to any other suggestions on the matter and would really appreciate any help I can get.
Thanks
For anyone wondering how to do this kind of thing, look into Harmonic Product Spectrum and Pitch Class Profiles / Chroma Vectors. A combination of these is the key. Also, using the search terms "multiple F0 estimation" as opposed to "chord detection" will warrant much better results :)