Evolving sequence module (Turing?)

Thanks to an earlier question about the shift register module, I watched some videos about them, with one in particular dealing with Cherry Audio's Voltage Modular. In it, they make use of the Random Task module (documentation here).

I don't think it's possible to build something like this with the existing Drambo sequencers, so it first occur to me that I could ask for it as a new module. But then I had two thoughts:

  1. Maybe something like this can be built with shift registers instead of sequencer, I'm imagining a shift sequencer with it's last output patched back to its input.
  2. While a dedicated "Turing sequencer" module would be great, it looks like there can be other kinds of sequencer, including this one, that could be built if the sequence itself was modifiable by its inputs in some way. CV seems like an obvious choice, but maybe some form of limited programmability could be even better (this is inspired by another earlier question about programmable modules)

Maybe I'm overthinking this and I should just use Mozaic instead (I only use Drambo as a host), as there already are quite a few creative sequencers for it in Patchstorage.



  • I had to see if I could make one and apparently I can. Here's an 8 step version. I'll probably make a 16 step version later.


  • @Johnisfaster thanks! This is an interesting concept, I need to dig a bit deeper to understand what you did in order to lock the generated sequence. The sequencer I'm describing has a mutation probability setting while yours can only be 0% or 100%, right?

  • Edited it to have optional 16, 8 or 4 steps.

  • Correct but each step gets changed as it passes meaning if you turn lock off and back on it will only change the steps that passed while it was unlocked. Give me an hour and I’ll probably figure out how to adjust the mutate probability.

  • @Johnisfaster thanks again! I'll take a look at this later today, I've already learned quite a lot with your first attempt

  • No problem I enjoy how projects like this tickle my brain.

  • @Johnisfaster wow, I finally understand, very clever use of the random modules to store the step value. I love it.

  • edited September 2023

    Thanks. I like it too. I used to have a Turing Machine in Eurorack format and Ive never had a software one that worked exactly the way it did til now. Figuring out how to handle the probability part led me to making a probability based Random Transposer and a Random Envelope. All of which I’ll probably use quite a bit.

  • edited September 2023

    Im not exactly sure why those links became whole images but the Turing one didn’t 🤷‍♂️

    Make sure you get the latest version of the Turing Machine there were a few things I had to fix.

  • @Johnisfaster excellent, I'll take a look at those too. I did grab the latest version ;)

    One question: could all of this be replaced by a Bernoulli Gate module?

  • edited September 2023

    Maybe? The Bernoulli Gate doesn't sync as far as I know but I'm not sure if that's necessary to make the patch work.

    Edit: my mistake I was thinking of Stochastic Gate Gen. I think your right. I'd still want the probability knob on the left to control the Rnd A-B just cause I'd rather see numbers instead of Rnd A-B

  • Yeah it works. I can drop the random module on the far left too so it takes the probability section down from 5 modules to 2 which I guess is good. I have a history of finding the most overly complicated solution to things. Til now I'd totally overlooked the Bernoulli Gate.

    I'll test it more tomorrow to make sure there's no issues with it. If it does work the same I'll probably change the one on Patchstorage sometime tomorrow morning.

  • I like it! Simple and intuitive to play in compact form.

    Could you please give a brief description of the logic going on with the Switch modules?

  • edited September 2023

    Nice! And I think I'd get rid of the lock on/off and first switch 1-n, and instead wire the randoms to the bernoulli gate directly, but that's just my preference. The three sequencers + steps length selector could be replaced by a single sequencer and then just use its steps param, right?

    Edit: and I think the CV sequencer could be replaced by a gate counter. Edit 2: ah, no, that goes from 0 to 1

  • @bleep my understanding is that the rightmost set of switches is used to determine which Random module to read a step value from. But random modules only change their output when they receive a gate signal, so they effectively store the last generated value until that happens. They only receive gates based on a combination of the lock on/off state, through the first set of switches and the change probability output.

    I'm sure @Johnisfaster can explain it better, but this may help you in the meantime.

  • Let the one who never used seven modules for what a new one could do, through the first rock

  • edited September 2023

    The large 1-N at the beginning determines which random module will receive a gate if the probability section sends one, turning on Lock forces that 1-N to slot 1 where no random modules receive a gate. The N-1 at the end reads through the random modules.

    on next update I’ll label the modules better so its easier to understand. I tend to forget people will be looking at that stuff.

  • Thanks! It's making sense, we are indeed many who likes to dig into the detailed workings of these contraptions. I'll try to post a challenge later today, hopefully it can tickle your brain and other Drambo builder experts in here.

  • Clever and elegant design, thanks for sharing. I made one with the native shift register but it is way less flexible and it it is kind of wonky in it’s response, though it spit independant notes and gates sequences.

  • Updated to 1.4 I changed how probability works to use less modules and I added some clarity to the inner workings so people can understand it better.

  • Excellent :)

    While making my own adjustments I'm wishing for a stepped version of knobs and for the knobs module to display the value of each one

  • edited September 2023

    Do you mean quantizing the probability knob so that its in like steps of 10 or something to that effect?

    or are you wanting to see the value of each step in the sequence?

  • Using just a single CV sequencer with 16 steps instead of your 4/8/16 selector, and select the number of steps with a knob mapped to its steps param

  • Oh right. The only reason I didn’t do that is because it would change the phase of the sequence. This way you can switch between the lengths but the phase stays the same. I could make a different version though if you want unusual pattern lengths.

  • Ah, good point. There's no need for that, I grasped the core concepts now and I can take it from here. Thanks for the module but even more for walking me through your whole thought process; I learned a lot that I can bring to my own modules.

  • You’re welcome. Thanks for introducing me to the Bernouli Gate

  • @NoiseFloored @Johnisfaster

    Indeed, using shift registers with feedback could be the way to go if you want adjustable sequence mutation and @Johnisfaster's idea can certainly be used with Shift Registers as well. The input of the first SR would either need a record/play switch in front of it or a mixer adding/subtracting a bipolar pitch signal normalized to zero (with zero equalling "no change").

  • Tbh I barely understand shift registers. I get generally what they do but don't really know how to take advantage of them in any meaningful way. I think it's the fact that it shifts that throws me off. Now that I think about it I could replace all those random modules with 1 random and 16 Sample Holds. I wonder if that's more efficient?

  • @Johnisfaster It's more about storing one ramdomized sequence in order to keep it in case a happy accident occured and then only add slight variations - at least that's my reasoning behind @NoiseFloored's suggestion.

    It would also simplify saving such a happy accident to a sequence or MIDI file.

Sign In or Register to comment.