Chord recognition is *not* the same as a standard arpeggiator. With an arpeggiator only the keys that are pressed are played in some predefined order and possible streched out over several octaves, while chord recognition is nothing more than an analysis of the incoming chord and determination of what key and what scale that chord is. For eg. pressing C-E-G at the the keyboard stands for key = C and scale = major. Problems could arise when more exotic jazz chords are used and the use of inversions and bass notes, but it is do-able. A perfect example is how Karma does chord analysis, but Logic has this feature also. Using internal lists of possible key combinations is one solution. I don’t like the idea of hitting whatever minor chord in the right hand and that the left hand sets the root note as earlier suggested. Also when no keys are pressed, then there’s is no sound, it’s not preferable. At least there should be a "Hold" feature. More creativity is needed here.
The big question is: How should an incoming chord affects the programmed sequences?
Assume a sequence has the following pattern:
0-3-12-7-10-12-7-3. (numbers represents semitones relative to the key transpose note)
It should be obvious that the above sequence is in a minor scale because there’s a minor third (the number 3) but also there’s a seventh (the number 10). Now what to do if we hit whatever chord?
In fact we have two sets of numbers to work with; one set is the programmed set of numbers of the
original sequence and one set of numbers of the incoming chord. If I press the keys C-E-G on the keyboard then their relationship can be described as 0-4-7.
So, the situation to deal with is: sequence: 0-3-12-7-10-12-7-3 and (incoming)chord: 0-4-7. A set of rules is needed how one set infuences another set.