
ingox
@ddw_music Maybe you can just lay out what you are trying to achieve in a broader context, so we can offer some solutions?

ingox
@ddw_music You can construct the [read( message by using the message change messages you can find on the bottom of the help file of messages in [pd changingmessages]:


ingox
@porres I think that [markov] is just more flexible than [anal] + [prob] or [anal] + [markov_matrix] for that matter, so i assume that the whole prob matrix approach is just going nowhere.

ingox
The basic idea is:
 read all the data into a [text]
 choose a random starting point and take the second value of the prob list as current state
 find all lines with the current state as first value, read the second values into a list and the probabilities into an array
 use [array random] and take the corresponding value from the list as new current state
 repeat from step 3.
(In the implementation another column for counting is added, so first value becomes second and so on.)
This should also work with more probabilities and also if the probabilities don't add up to 100. They don't actually have to be percentages at all (untested).

ingox
@porres This uses [array random] to move through the chains:
In markov_matrix_demo.pd you can see that the probabilities actually do match up.
The first value of the prob matrix could also be an index of a larger chain, the second value could also be the index of a chord. This could be incorporated or left outside the object. Only the length of the chain cannot be recalculated from within the system.
This does not include any checks for duplicates or consistency, so [markov_matrix] should be reset first and then the matrix data should be correct.

ingox
@porres Maybe you can post some sample data of your matrix?

ingox
@porres Sure thing, it is public domain.
And yes, this abstraction is basically creating a form of probability matrix out of the source material. If you already have the matrix you don't need most of the steps and can basically directly play the chains...
This abstraction is something like a very basic machine learning approach: Play some notes or read a midi file into it and get new stuff out of it that is computer generated, but based on human creativity.

ingox
@lordgreekfolder Ok, if you start a wiki i provide some patches or something