What's the operator equivalent of polymetric sequences?

Hey! a novice here

Some concrete thing I'd like to do is to apply an effect every 3rd hit to a pattern that counts in 4.

What I've learned is that to play pattern in 3 with a pattern in 4 in the "wrapping" way like:

| 0 1 2 0 1 2 0 1 2 0 1 2 |
| 0 1 2 3 0 1 2 3 0 1 2 3 |

I do

"{0 1 2, 0 1 2 3}"

EDIT: with the beat markers what I've drawn is really "[{0 1 2}%12, {0 1 2 3}%12], isn't it? The pattern "{0 1 2, 0 1 2 3}" is instead 4 beat long sequence (so by default it plays 4 times slower). Do I get it right?

But what do I do to i.e. apply an effect every third hit to a pattern of four? Or to apply in sequence 3 chords to a pattern of 4 notes? Well, basically: what is the operator equivalent of the {} mini notation?

Thanks!!

From what I see in the parser, there isn't really a pre-defined function. It stacks and adjust speeds according to the amount of elements it reads from the mini-notation. Anyone feel free to correct me if I'm missing something

Yes this isn't possible in the current release of Tidal which is all cycle based.

However I have been working on this recently and this kind of 'stepwise' function should be in the next tidal release. There's a bit of info about it here: Step-oriented functionality by yaxu · Pull Request #1072 · tidalcycles/Tidal · GitHub

I'm still working on it, but as things stand you will be able to do what you want via

d1 $ s_nth 3 (# speed 2) $ s "bd sd cp ht"

Also there will be a function for polymeters called s_polymeter

4 Likes

thanks, good luck on the release then!

1 Like