@jjthrash - Thank you! And nope! I’m literally like a piano teacher staying one lesson ahead of the students. The first method I did I intuited and it worked but it’s really inefficient. This one I looked up “shuffling algorithm” and came up with this.
There might even be a more efficient solution that I’m chasing now, so I’ll let you know about that.
I’m making the 8 and 16 today and tomorrow probably, but algorithmically. Would be awesome to see what it looks like based on code. My guess is there wouldnt be enough CPU for the 16 step version if you use muxes.
I’m going to actually make this a really decked out multimedia post on AllTheSynths and lines sincw their forum software is far superior to ours lol! I’ll also include documentation in the patch. Consider the above a first draft.
I think I came up with a simpler approach using the "inside-out" variant described at: https://en.wikipedia.org/wiki/Fisher–Yates_shuffle. I really like the demo patch.
This makes me nostalgic for the huge bongo patch @biminiroad made about a year ago. @stschoen. I always enjoy seeing your take on patches like this because you have an eye for simplicity. I think your approach will scale a little more neatly into 8 or 16 step versions.
But there are only 4 expressions per a step as opposed to an exponentially decreasing number. I think the 8 step version would have 8 expressions per step and the 16 would have 16, correct?
@RobertSyrett, you are correct. For an 8 step this alternative has 8 expressions per step. I guess it's expressions vs. muxes. Here's an 8 step version. @biminiroad I'm looking forward to seeing the strange attractor.
From the videos, Rob Hordijk was also very interested in chaos theory and how it relates to music. You’re certainly following in some illustrious footsteps. BTW your explanation was spot on. I think it will make an excellent tutorial.
@stschoen I love it! But I think the reset is acting more like a hold gate. Is this intended? If not I would just rename it, because hold is also very handy.
Reset should reset the counter driving the sequencer but doesn’t change the current pattern. I copied the sequencer section from @biminiroad’s design and haven’t looked at the logic for the counter, but I’ve found resets are tough to do reliably.
BTW I want to stress that the credit for this module belongs entirely to @biminiroad. He had the concept, did the research and put it together. I used his reference as the source for the algorithm I used. I love a puzzle and I was intrigued by the “inside-out” approach.