Hallo, Damian Stewart hat gesagt: // Damian Stewart wrote:
So, (apologies for the mammothosity of this email), I'm looking at at least two new objects. The first, we'll call it TimeMachine, will be based around a high-frequency timer triggering at some common multiple of 2, 3, 5, and 7 times every beat. The second, maybe call it LoopingEnvelope, has to decode that raw number and decide based on envelope data whether or not to send out a new message of the form 'float float' that will get passed on to a _line_ object.
I don't see what TimeMachine can do that [metro] wouldn't be able to do? [metro] is capable of high-frequency triggering, and can fire in multiples of every (sensible) control frequency or period.
To really get the full timing resolution of [metro] you will not want to use the [line~] object however, but the [vline~] object.
Doing the polyrhythm stuff is quite easy with builtin Pd objects and it's also more flexible for users, who can directly change the internals without having to recompile. Pd users often like to do that.
An example of what I mean is a little polyrhythm-testpatch I did some time ago using only builtin objects (including [list] so pd-0.39 required as well as [list]-abs). [list-rhythm] simply is a little counter, that counts in intervals you send to its second inlet. So sending e.g. "2 2 1 3" will make list-rhythm count like this: "0 1 0 1 0 0 1 2" and repeat that.
Combining many list-rhythms can create interesting polyrhythms, whose patterns can change on the fly. See simple-test.pd for an example.
Frank Barknecht _ ______footils.org_ __goto10.org__