While our project is currently working, there is still plenty of room for future development.
Onset Detection is one part of this project that can be further developed. Not only does this mean that the detection on block chords becomes more accurate, but one day a harmonic onset detection could be developed to detect harmonic changes in an input signal.
An important concept in music theory and chord identification is chord inversion. As of right now, this algorithm has no way of determining inversion, but the way to go about it would be to determine the lowest pitch played and then find the distance between that pitch and the root pitch index.
One major thing that can be improved upon is the pitch tracking of this project. Right now, the Harmonic Product Spectrum works for minimizing overtones in block chords, but fine tuning this pitch tracking to be more accurate could lead to even more potential beyond just analyzing block chords. Ideally, one day, this could be expanded to harmonically analyze complex music with melodies and key modulations.