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 :smiley: 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 :wink:

2 Likes