How to modulate entry delays?


I am new to Tidal and really fascinated by it!

I learned only the very basics so far. As an exercise I want to reimplement an old piece of mine I made with SuperCollider and in which I modulate the entry delays of a sequence of events in such a way that the overall duration of the sequence is the same than without that modulation. This is to be able to keep parallel patterns in sync. In SuperCollider the basic idea can be expressed and tested like this:

var n = 100;
var eds = n.collect{ |i| (sin(i / n * 2pi + pi) + 2) / 2 };
eds.plot; // one period of a sine oscillating between 0.5 and 1.5
Pbind(\dur, Pseq(eds)).play;

Note that the sum of the entry delays is always equal to the number of events (100) because the sine is centred around 1.

How would I do this in Tidal? I tried the following, but evidently this doesn't do what I want:

d1 $ fast ((range 0.5 1.5 sine) / 100) $ sound "sd*100"

Any pointers would be very welcome!

Best regards,


1 Like

It's not exactly the same (doing exact equivalents to \dur Pbind sequences in Tidal is not straightforward), but you could try something like

 $ s "sd*100"
 # cps (sine + 0.5)