Something like markov-chains but w. index...

Veqtor's icon

So, I've been having a great deal of fun with anal and prob, but... For my application I need something, which also takes an index. That is, something which is fed a series of numbers, toghether with an index (16th notes etc) and builds up probabilities tied to that index, so when queried for that index point, it puts out numbers tied to the index.

Why?

Well, markov chains are fun, but it becomes unmusical as the series quickly becomes dislodged from the rythmical patterns that were originally in the stream of numbers.

Any ideas?

Anthony Palomba's icon

Are you talking about an array of markov chains? Where each index
would point to a state table?

Veqtor's icon

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.