Hi all,
I just rewrote an abstraction for creating markov chains using a matrix storing the probabilties to get every other states in the finite state machine. Probabilities are caclulated on the sum of every float of every row. A row corresponds to a state (actually, its probabilities to obtain every state next). See wikipedia.org for mathematics behind it.
It is available at http://alexandre.quessy.net/?q=node/43 only at the moment.
This kind of system can be used for weighted random between several effects in an installation, or to build melodies of chord changes, for instance. It uses zexy and iemmatrix. Ah, it is GPL, let say.
Alexandre Quessy http://alexandre.quessy.net
Hi,
if you are interested in markov chains, maybe you like this:
icem-www.folkwang-hochschule.de/~finnendahl/download/markov_pd.tgz
It works quite different as it is implemented as a binary search tree. It automatically stores and updates the probabilities as it receives events (or "states" if you want). The advantage of this approach is that you don't have to predefine the number of states. Whatever state it receives will get stored accordingly, generating the tree dynamically and updating the probabilities.
In addition it stores the events for different orders (up to order 16) and you can switch the order while it generates events.
The object was used for interaction between the computer and a performer, where the computer learned from the performer in real time and could respond based on the probabilities of the sequence it was fed with.
It's been a while since I last used it, so the code hasn't been maintained recently, but it seems, some people on the list are interested in markov processes. Let me know, if you can make use of the object and I will try to maintain it and maybe update the documentation.
It's linux only yet, but I just learned the compile flags for OSX. That raises hope and makes me courageous enough to take the challenge to learn how to compile it for Windows.
-- Orm
Am 15. August 2006, 00:57 Uhr (-0400) schrieb Alexandre Quessy:
Hi all,
I just rewrote an abstraction for creating markov chains using a matrix storing the probabilties to get every other states in the finite state machine. Probabilities are caclulated on the sum of every float of every row. A row corresponds to a state (actually, its probabilities to obtain every state next). See wikipedia.org for mathematics behind it.
It is available at http://alexandre.quessy.net/?q=node/43 only at the moment.
This kind of system can be used for weighted random between several effects in an installation, or to build melodies of chord changes, for instance. It uses zexy and iemmatrix. Ah, it is GPL, let say.
Cheers,
Alexandre Quessy http://alexandre.quessy.net
PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Hallo, Orm Finnendahl hat gesagt: // Orm Finnendahl wrote:
if you are interested in markov chains, maybe you like this:
icem-www.folkwang-hochschule.de/~finnendahl/download/markov_pd.tgz
There also is the [prob] object from Max, which is part of Cyclone as well. It is used in the abstraction markov.pd from Essl's RTC-lib, which I'm currently porting to Pd. markov.pd is already done, it's attached including help file.
Using it I always get an error: prob's error: bad list message format the first time I send a bang to [markov] in the help-file. It seems to work fine, though. Maybe anyone knows where this comes from?
Frank Barknecht _ ______footils.org_ __goto10.org__
This is very useful in composition and will hopefully spark some interest in markov chain melodies. I do like your layout style, highlighting, and commenting. Understandable at a glance.
One issue: I think vanilla [matrix] may be deprecated, it certainly seems to have disappeared from my patches after going up to 0.39.2-t4 and I think the new namespace is prefixed mtx_
Cheers, a.
On Tue, 15 Aug 2006 00:57:48 -0400 "Alexandre Quessy" listes@sourcelibre.com wrote:
Hi all,
I just rewrote an abstraction for creating markov chains using a matrix storing the probabilties to get every other states in the finite state machine. Probabilities are caclulated on the sum of every float of every row. A row corresponds to a state (actually, its probabilities to obtain every state next). See wikipedia.org for mathematics behind it.
It is available at http://alexandre.quessy.net/?q=node/43 only at the moment.
This kind of system can be used for weighted random between several effects in an installation, or to build melodies of chord changes, for instance. It uses zexy and iemmatrix. Ah, it is GPL, let say.
Cheers,
Alexandre Quessy http://alexandre.quessy.net
PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Hallo, padawan12 hat gesagt: // padawan12 wrote:
One issue: I think vanilla [matrix] may be deprecated, it certainly seems to have disappeared from my patches after going up to 0.39.2-t4 and I think the new namespace is prefixed mtx_
[matrix] is available in several flavours, so to make sure you get the iemmatrix-matrix, you can use [mtx] instead.
Btw: [prepend] also is dangerous to use, as there are several versions. [list prepend ...]---[list trim] is better. Many people use this list-based version inside of an abstraction named "prepent.pd".
Frank Barknecht _ ______footils.org_ __goto10.org__
Frank Barknecht wrote:
Hallo, padawan12 hat gesagt: // padawan12 wrote:
One issue: I think vanilla [matrix] may be deprecated,
says who? [matrix] is the official name of this object in iemmatrix.
it certainly seems to have disappeared from my patches after going up to 0.39.2-t4 and I think the new
is this pd-extended?
namespace is prefixed mtx_
true for all objects _but_ [matrix] itself.
[matrix] is available in several flavours, so to make sure you get the
is it? i always thought, only [matrix~] has this problems (and [matrix~] IS deprecated in favor of [mx_*~]
iemmatrix-matrix, you can use [mtx] instead.
to really make sure to use iemmatrix-matrix, you could also use [iemmatrix] (but i wouldn't suggest this). usually i would recommend using [mtx] since it is less typing than [matrix].
mfa.dr IOhannes
Hallo, IOhannes m zmoelnig hat gesagt: // IOhannes m zmoelnig wrote:
Frank Barknecht wrote:
[matrix] is available in several flavours, so to make sure you get the
is it? i always thought, only [matrix~] has this problems (and [matrix~] IS deprecated in favor of [mx_*~]
You're right, I was confusing both.
iemmatrix-matrix, you can use [mtx] instead.
to really make sure to use iemmatrix-matrix, you could also use [iemmatrix] (but i wouldn't suggest this). usually i would recommend using [mtx] since it is less typing than [matrix].
That's generally my motivation for using [mtx] as well, though Hans probably hates it. ;)
Frank Barknecht _ ______footils.org_ __goto10.org__