Week 2 lesson 2 - manipulating time with setcps, cps patterns and fast/slow functions

Hey @gnozo

(First of all - this is hard to get your head round so don't worry if it doesn't make sense right away. Even Alex is confused about this in the video ha. Personally I avoid confusion by not really thinking about it and using my ear to decide what I like the sound of...)

Patterning fast in this way means you effectively switch between two versions of the pattern running at different speeds.

So imagine your original pattern "0 1" looks like this:

0---1---|0---1---|0---1---|0---1---|

If you applied fast 0.5 to the whole thing it would look like this:

0-------|1-------|0-------|1-------|

If you applied fast 2 to the whole thing it would look like this:

0-1-0-1-|0-1-0-1-|0-1-0-1-|0-1-0-1-|

When you pattern fast you switch between those two versions of the patterns. In this instance we will have half a cycle of fast 0.5 and half a cycle of fast 2

So using / to indicate the two halves of the pattern, it's a bit like layering:

0---/----|1---/----|0---/----|1---/----|

and

0-1-/0-1-|0-1-/0-1-|0-1-/0-1-|0-1-/0-1-|

alternating parts each time:

0---/0-1-|1---/0-1-|0---/0-1-|1---/0-1-|

So thinking about your pattern:

d1 $ n "<0 1> <[0 1]>" # sound "cpu"

It works in the same way. Let's look at the first half <0 1> first:

0-------|1-------|0-------|1-------|

Then the second half <[0 1]>

----0-1-|----0-1-|----0-1-|----0-1-|

If we put these together we get:

0---0-1-|1---0-1-|0---0-1-|1---0-1-|

Which is the same as what we saw above.

Hopefully that helps! I think @yaxu has some really good diagrams that explain how Tidal handles patterns of effects and time, so hopefully he can share them!

19 Likes