Thanks, that does have a list of chord definitions that might be helpful.
I’d have to learn how to use it - how to pass the midi buffer to it.
So the chords are defined by the numbers in the array - is that what you mean by vectors? I’d have to figure out how to deal with inversions etc.
unordered_map<string, vector<int>> MIDI_Chord::random_chord_master {
// TRIADS
{ "maj", { 0,4,7 } },
{ "min", { 0,3,7 } },
{ "sus2", { 0,2,7 } },
{ "sus4", { 0,5,7 } },
{ "dim", { 0,3,6 } },
// end-TRIADS
// SEVENTHS/QUADS
{ "maj7", { 0,4,7,11 } },
{ "min7", { 0,3,7,10 } },
{ "dom7", { 0,4,7,10 } },
{ "half_dim7", { 0,3,6,10 } },
{ "full_dim7", { 0,3,6,9 } },