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

Hi @yaxu, hi @heavy.lifting,

thanks for the hint and the explanation. To close this, here is my analysis of the two examples that weren't but are now clear to me:

-- example 2 -----------------------

d1 $ slow "2 1" $ n "0 2" # s "cpu"

-- combination/layering of:

d1 $ slow "2" $ n "0 2" # s "cpu"
-- | bd    | sn    | bd    | sn    | <-- provides the first halves

-- and:

d1 $ slow "1" $ n "0 2" # s "cpu"
-- | bd sn | bd sn | bd sn | bd sn | <-- provides the second halves

-- results in:

-- | bd sn | sn sn | bd sn | sn sn |

-- example 4 -----------------------

d1 $ slow "4 1" $ n "0 2" # s "cpu"

-- combination/layering of:

d1 $ slow "4" $ n "0 2" # s "cpu"
-- | bd    |       | sn    |       | <-- provides the first halves

-- and:

d1 $ slow "1" $ n "0 2" # s "cpu"
-- | bd sn | bd sn | bd sn | bd sn | <-- provides the second halves

-- results in

-- | bd sn |    sn | sn sn |    sn |

Super interesting that the default value of cps has been changed sometime(s) in the history of Tidal! I presume many people don't change the cps, so change of a default value basically has a huge effect on everyone's music. A superpower!

Also I need to try negative cps... :wink:

1 Like

Heh, any nominations for the cps in tidal version 2.0?

Well you said it, why not setcps tidal_version? :fast_forward:

2 Likes

I tried to add reset = setcps 0.5625 but this is the output:

• No instance for (Show (Pattern Bool -> Pattern a0 -> Pattern a0))
        arising from a use of ‘print’
        (maybe you haven't applied a function to enough arguments?)
    • In a stmt of an interactive GHCi command: print it

Hmm, try let reset = setcps 0.5625

Solved! Maybe there was another istance of Tidal open. I closed and reopened everything and it works with reset = setcps 0.5625.
Thank you