I'd love to discuss different methods for having patterns interact with each other.
Let's say I have a
stack with 5 or 6 drum patterns... I have a clap that happens infrequently and randomly, and I'd like all of the other drums to drop out whenever it hits. Or maybe I have some decay automation on the kick drum and it would be nice if the inverse of this automation made the cymbal decay shorter, for instance. What would be some methods for making these happen?
I've been chatting with @kindohm about it, and he suggested a few options, like putting a conditional pattern above the
stack and using
const to mute all of the other patterns and only play the new one.
d1 $ every 4 (someCyclesBy 0.4 (within (0.33, 0.5) (const $ s "~ cp ~"))) $ stack [ ..., ..., ]
This works nicely for the clap example above but are there other ways to achieve this that you can think of? He also suggested looking at
while but I have yet to explore boolean options much.
For the automation option I could probably assign it to a variable and multiply it as I see fit. But I'd love to open this to a wider discussion about pattern interactions in general. Seems like an important topic and I'm curious if others have thought about it and found solutions.