 # Pattern Riddles

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

thank you @polymorphic.engine! i was pretty stumped and this helps a lot!

1 Like

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