[PD] complex metronomes sequencing problem (Frank Barknecht)

Frank Barknecht fbar at footils.org
Thu Dec 27 17:29:32 CET 2007

Libero Mureddu hat gesagt: // Libero Mureddu wrote:

> I have another question about your ioi-sequencer (very nice indeed!),
> my problem is that I would like to have a possibility to move forward
> (or backward) in time, especially if I give as messages value as [1.6(
> and [1.7(  respectively: with the sequence you put, is quite easy to
> calculate when the pattern obtained is going to repeat, and then work
> with it compositionally. But with the "phasing" value that I want to
> use, the whole created pattern  is very long in time, and I still
> would like to have a precise control into it.
> What I really like in your example is the possibility to send messages
> of any length on the fly, but how could I then have a master tempo
> counter (if it is what it is required) and still have this
> flexibility?

The IOI approach conceptually has no master tempo, it just has times
between events. So you could dynamically change the time till the next
event on the fly. In the example I posted, the IOI times come from reading
a preset list item by item, but you could also get the IOI times from
anywhere else. 

You could for example read the next IOI every time an event happens
from a settable [float]: 

 [r next-event]
 [t b  b]     [r next-IOI]
 |      |     |   
 [s EV] [float]
        [s next-event]

Here you can set the value of "next-IOI" in whatever way you like, for
example from a score in a [textfile], a list as in the example, a
[random] process etc.

It is a bit tricky to jump to a certain position of the piece that
way, though, as you could do if you would have your whole composition
written out explicitly. Or rather: It's easy to jump to a certain
position if you have only one [delay]-sequencer, but as soon as you
have two, syncing the starting positions is difficult.

Maybe you can just make one of the delay-sequencers your master metro,
and encode the periods of the other delays as difference values to
the period of the master. 

Example: You have one master metro at 100. Then you want one
metro/delay A run at 101, another one, B, at 102. For the first bang,
delay A will come 1msec late, so its delay will be 1msec. The next
time, A bangs, it will come 2 msec late, and so on, so A will be n
times 1msec late, modulo 101. For metro/delay B this will be (n*2msec) %

Attached is an example for this re-encoding in action. You can use the
master position number box in the to left to jump to a certain
position. (This is not really a IOI approach anymore, though.)

 Frank Barknecht                                     _ ______footils.org__
-------------- next part --------------
A non-text attachment was scrubbed...
Name: delay-changer.pd
Type: application/puredata
Size: 2526 bytes
Desc: not available
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20071227/54e9e98d/attachment.bin>

More information about the Pd-list mailing list