Is there a way to have two patterns playing at the same time (so on top of each other) but at different cps? The end goal being the phasing of the two patterns. So is there a way to setcps
for only certain patterns? I saw this in the documentation:
Patterns don't (yet) have independent tempos though, if you change it on one pattern, it changes on all of them.
I assume this still holds true?
I'm sure there are many more ways at phasing besides tempo that I'm not thinking about if so... Maybe rot
is one? Or slow 1.01
? But both of those would reset at the beginning of every cycle I believe. Hmm.
PS: Still curious about the setcps
question, but this approach seems to lead to some interesting results:
d1 $ stack [
s "drum*8" # nudge (range 0 2.5 $ slow 20 tri) # pan 0,
s "sd*8" # nudge (range 0.1 2.5 $ slow 20 tri) # pan 0.5,
s "hh*8" # nudge (range 0.2 2.5 $ slow 20 tri) # pan 1
]
1 Like
Unfortunately no. Also, the cps
pattern is a global pattern.
Something like this should work:
d1 $ slow 1.01 $ s "bd*8"
d2 $ s "cp*8"
But if you want to modulate the tempos of both, then you either have to pattern slow
or use a nudge
pattern, but with both you'll run in to some cycle boundary jaggedness:
d1 $ slow "<1 1.5 1.25 1.75>" $ s "bd*16"
d2 $ slow "<1.333 0.7 2.33>" $ s "cp*16"
3 Likes
Huh, so it's as simple as that!?
I was under the impression that slow
would slow down the contents within the cycle but that the duration of the cycle itself would stay the same, and therefore the cycle would reset itself. That doesn't seem to be what's happening though. In this case is slow
the same as changing the cps
for that one sound/pattern?
Thanks!
1 Like
Yes! slow
will not reset every cycle (nor will fast
).
Wow, well awesome. There's my answer thank you!
If I wanted patterns to phase out of time using slow
, but then slam back in sync at some point then I assume that I could use either resetCycles
or maybe trigger 1
? Both of those cause a hiccup when they're evaluated though as they're apparently not being quantized to tempo. I assumed that this would work but it also hiccups:
do
d1 $ trigger 1 $ slow 1.01 $ s "bd*8"
d2 $ trigger 1 $ s "hh*8"
It seems that what I want is the functionality of a trigger 1
and a resetCycles
combo?
Talking out loud here so hopefully this makes sense lol.
Thanks again.
EDIT: Alex's new video answered my question!
qtrigger
will bring them back into phase quantized to the start of the next cycle:
do
d1 $ qtrigger 1 $ slow 1.01 $ s "bd*8"
d2 $ qtrigger 1 $ s "hh*8" # pan 0.7
6 Likes