# slowSqueeze

From TidalCycles userbase

Revision as of 18:08, 25 December 2020 by Left adjoint (talk | contribs) (Created page with "Type: <syntaxhighlight lang="haskell" inline>slowSqueeze :: Pattern Time -> Pattern a -> Pattern a</syntaxhighlight> '''fastSqueeze''' slows down a patter...")

Type: `slowSqueeze :: Pattern Time -> Pattern a -> Pattern a`

**fastSqueeze** slows down a pattern according to the given time pattern. It is the `slow`

analogue to fastSqueeze.

If the time pattern only has a single value in a cycle, `slowSqueeze`

becomes equivalent to `slow`

:

`d1 $ slow "<2 4>" $ s "bd*8"`

is the same as

`d1 $ slowSqueeze "<2 4>" $ s "bd*8"`

but when the time pattern has *multiple* values in it the behavior is a little different! Instead, a slowed version of the pattern will be made for each value in the time pattern and then they're *all* combined together in a cycle, according to the structure of the time pattern. For example,

`d1 $ slowSqueeze "2 4 8 16" $ s "bd*8"`

is equivalent to

`d1 $ s "bd*4 bd*2 bd bd/2"`

and

`d1 $ slowSqueeze "2 4 [8 16]" $ s "bd*8"`

is equivalent to

`d1 $ s "bd*4 bd*2 [bd bd/2]"`