I think Arduino is too underpowered for this, since the method I can think of either calls for some complicated math that is too heavy for that little MCU to calculate.
To identify a chord you are looking at certain patterns of tones and their intervals. Each tone have a one-to-one mapping to a frequency. So if you want to find out the chords you need to figure out the frequencies used in the audio sample, and then search for patterns that represent chords.
Assuming you have a stream of audio coming in. Take a small duration of samples (aka time domain representation) and run Fast Fourier Transform on it. It will give you the frequency domain representation of this audio sample. Then search for significant peaks in this frequency domain representation that maps to the tones on the sample, and finally search for patterns in the frequency peaks.
This is heavy duty math, which not even the most powerful Arduino is capable of processing it near real time. I doubt that Raspberry Pi will be able to handle it well enough too, although its GPU is capable of helping a few steps of those. You may be better off getting your gaming PC out, and do all the aforementioned heavy duty math on its multi-gigahertz multi-core CPU and, for better real time response, that fast hundreds-of-threads GPU, and send the results to an Arduino over USB, that is controlling the ligh show.