Do Patterns Always Have To Last a Whole Cycle? Shorter Possible?

I'm curious if it's possible to have patterns last for less than a cycle. Say I want to have a fill happen really quickly as an interrupt, and I want to place that in a cat (for instance). Is this possible or is the smallest pattern of time in Tidal a full cycle?

I cam across zoom, trunc and linger, which all seemed promising, but they all seems to stretch the new patterns to a full cycle.

Hopefully this question makes sense thanks. My guess is that I'm not thinking about this clearly yet.

Ben

By "shorter than a cycle", I'm assuming you mean something more complex than just using fast or slow, right?

If you want a pre-composed pattern to jump into the fray for less than a cycle, you could take a look at ur maybe (docs: https://tidalcycles.org/index.php/ur). With ur, you can manipulate entire patterns/sequences like they were patterns. So you do something like "stuff stuff stuff [stuff, fill@0.5]" to have the fill last half a cycle. Only thing is it requires a bit of setup to work.

1 Like

Yes I'm curious if the pattern itself can ever be less than a cycle. From what I understand of fast and slow the whole pattern would still equal one cycle but the contents would be transformed. Let me know if I'm wrong there.

And interesting about ur. I've stared at the doc sheet a few times but it didn't occur to me that I could use it for this. I'll go back and investigate, thanks.

Agreed that ur is a good thing to look at for this, for making patterns of patterns in a flexible way.

Otherwise the cycle is always the reference point and is more or less fixed. You can change the duration of a cycle with the cps control, but that currently affects all patterns.

2 Likes

Maybe I'm missing the point, but you can also use square brackets to make something shorter than a cycle. e.g. compare:

d1 $ n "1 1 2 3" # s "808"

d1 $ n "[1 1 2 3] ~ ~ ~" # s "808"

I believe that will speed up the contents IN a cycle, but the cycle itself will remain the same duration.

AH I'm with you, I did miss the point :wink:

I think I've seen Linux Lewis doing something like this using seqP or seqPLoop. I'm not really familiar with them though so can't help more than that... It won't change the length of the cycle, but it might allow you to sequence in a shorter block.

1 Like

Thanks!
Yes is seems like those two and ur are a good place to start.

I also realize that I could probably through a setcps inside of a const "~" inside of a whenmod or whatever. I'll try that too.

(I also just realized that I'm starting to speak Tidal and I sound like an alien lol.)