can anyone tell me why i only get silence during my `someCycles`

cycles with the pattern below?

```
do
let pat = "t(3,8)"
d2 $ someCycles (struct (inv pat)) $ struct (pat) $ s "bd"
```

can anyone tell me why i only get silence during my `someCycles`

cycles with the pattern below?

```
do
let pat = "t(3,8)"
d2 $ someCycles (struct (inv pat)) $ struct (pat) $ s "bd"
```

that's a tricky one haha

I think what is happening is that the two structs in a row are 'canceling each other out' since you use a pattern and it's invert for your structure. Let's consider a simpler example where

`pat = "t f"`

then we have `inv pat = "f t"`

again for simplicity let's assume that `someCycles`

is not there, so we are interested in the following pattern

`struct "f t" $ struct "t f" $ s "bd"`

.

After the first struct this will be equivalent to

`strutc "f t" $ s "bd ~"`

this is bad since the `f`

is matching up with the `bd`

and the `t`

with the silence, thus producing silence.

To solve this you can move the `someCycles`

into the `struct`

like this:

```
do
let pat = "t(3,8)"
d2 $ struct (someCycles inv pat) $ s "bd"
```

This was pretty fun to figure out though, we should maybe make a kind of a riddle game out of it like, given this pattern, why does it produce this sound?

5 Likes

also, i changed the name of this thread to hopefully encourage more riddles

2 Likes