Preserve swing as Tempo changes

I've been having fun patterning tempo using cps.

However, when I try to do this with patterns that swing (using nudge), I have problems.

(# nudge "[0 0.03]*8")

Because the length of the nudge is fixed, it is not musically pleasing as the tempo changes.

Can anyone think of a way to make a version of nudge which responds to tempo changes by lengthening or shortening it's time delay appropriately?

Something like:

let nudgex = nudge (value*(cps/0.5))

have you tried using swingBy instead?

https://tidalcycles.org/docs/patternlib/tour/time/#swingby

1 Like

you can do it almost as you suggested, the only thing is that the current cps of the stream is saved in a global variable _cps, you can accsess it via ^, like this:

let nudgex value = nudge (value*("^_cps"/0.5))

1 Like

That's superb. Thanks so much. I thought there might be something like this but I didn't have the words to describe it.

Time to get funky!

2 Likes