# Difference between revisions of "euclid"

From TidalCycles userbase

Left adjoint (talk | contribs) |
|||

Line 21: | Line 21: | ||

d1 $ euclid "<3 5>" "[8 16]/4" $ s "bd" | d1 $ euclid "<3 5>" "[8 16]/4" $ s "bd" | ||

</source> | </source> | ||

+ | |||

+ | = euclidInv = | ||

+ | [[Type signature|Type]]: <source inline>euclidInv :: Pattern Int -> Pattern Int -> Pattern a -> Pattern a</source> | ||

+ | |||

+ | Inverts the pattern given by <source inline>euclid</source>. For example, | ||

+ | |||

+ | <source> | ||

+ | d1 $ stack [euclid 5 8 $ s "bd", | ||

+ | euclidInv 5 8 $ s "hh27"] | ||

+ | </source> | ||

+ | |||

+ | to hear that the hi-hat event fires on every one of the eight even beats that the bass drum does not. | ||

[[Category:Functions]] | [[Category:Functions]] |

## Revision as of 02:06, 25 December 2020

Type: `euclid :: Pattern Int -> Pattern Int -> Pattern a -> Pattern a`

**euclid** creates a Euclidean rhythmic structure. It produces the same output as the Euclidean pattern string.

For example:

`d1 $ euclid 3 8 $ sound "cp"`

... is the same as ...

`d1 $ sound "cp(3,8)"`

**euclid** accepts two parameters that can be patterns:

`d1 $ euclid "<3 5>" "[8 16]/4" $ s "bd"`

# euclidInv

Type: `euclidInv :: Pattern Int -> Pattern Int -> Pattern a -> Pattern a`

Inverts the pattern given by `euclid`

. For example,

```
d1 $ stack [euclid 5 8 $ s "bd",
euclidInv 5 8 $ s "hh27"]
```

to hear that the hi-hat event fires on every one of the eight even beats that the bass drum does not.