Yeah, kind of, but the choice has to be dependent on what choice was made previously, in the step before that...
For example:
im7 ivm7 iim7b5 V7b9 im
I7b9 ivm7 bVII9 bVII7 bIIIMaj7
bVIMaj7 iim7b5 II7 V7#5#9
im6 ivm6 V7#5#9 im6
im6 ivm6 V7#5#9 im6
im7 vim7b5 iim7b5 V7#5#9 I7 ivm7 bVII9 bIII9
bVI9 iim7b5 V7#5#9 im7 vim7b5 iim7b5 V7
I7 ivm7 bVII9 bIII9 bVI9 V7#5#9 im7
I7b9 ivm7 I7b9 ivm7
I7b9 ivm7 I ivm6 I7b9
ivm6 iim7b5 vm7b5 I7b9 IV7 bviim7 bIII9 bVI9
bII9 bII9 bVI9 bVI9
bII9 bII9 bVI9 iim7b5 V7#5#9
These are the chords in Django, as you can see there are reoccuring patterns split basically into four "columns", with occasional subdivisions, I want to have a first order markov chain matching, which takes the current column-number (1-4) into account, not just going from chord to chord at random.
So, upon further studies, I've found out I need a looping index of 16, with a 2nd order.