Non-overlapping permutations

I'm looking for a way to generate 4x4 random CC values (between value 00 and 03) triggered by 4 separate gates and going out as 4 constantly permutating and non overlapping random values , so if output 1 is value 03 then the rest of the outputs are randomly chosen out of 00, 01, 02.

I'm wondering if something like this is possible within Drambo alone?

Comments

  • edited October 2023

    You can scale the random output to match the intended CC Generator range (to send CC values between 0..3).

    You can also use triggered LFOs in random mode. Set their frequency low enough so they'll only generate a single output value per trigger.

    The CC Generator will send a new value as soon as its input value changes.

    Does this help?

  • What I'm looking for here is to compare or store the 4x random values so there are no duplicate values on the 4 CC generator outputs, maybe there are 2 ways to go about this, either comparing all the 4 random generators and only fire the non duplicates, or somehow come up with 4x non-duplicate random values, if any of that could be possible?

  • One of many possible ways: Use 4 CV Sequencers, each with 16 steps and let a random number control the time input of each. This would give you 16 distinct combinations of 4 CC values. You could then adjust the sequencer steps so they're never the same on any common step.

  • Or use 4 Graphic Shapers which will give you up to 64 combinations (when X snap is set to 64 in the graph editor).

  • Great tip! A tiny bit fiddly for my use case as the values are pretty fine here - 0 to 3 but it's rescaleable ofcourse, just out of curiosity if you don't mind sharing another possible approach for this?

  • but at the end wouldn't the results with the above approaches be the same as placing 4x random modules with range 0.030 after the 4 separate trigs I'm using ?

    so ideally, overlapping values should not be possible on any of the 4 CC outputs.

  • OK I've missed the separate triggers. 4 random modules will regularly produce overlaps.

    What are you trying to achieve in the end?

  • I have a 4 voice multitimbral synth sitting on the receiving end which expects each voice on a separate channel, if I use the Midi to Poly module then the chord's notes always end up being evenly distributed to 1 of the 4 synth's outputs, aka the same notes always come out of the same outputs.

    There are 4 CCs, 1 CC per voice to reassign the voice to 1 of the 4 outputs, I want this to happen randomly but also to restrict more then 1 note (1 Channel of Midi to Poly) to come out of the same output as the other 3.

    So for instance Voice 1 has its own output-assigned-CC + 4 values which correspond to the 4 outputs, values 0 to 3.

    I also figured that shuffling CCs instead of the actual Midi Channels is a bit safer for hung note prevention.

    Hopefully that clears it up a bit more!

  • edited October 2023


    ... the chord's notes always end up being evenly distributed to 1 of the 4 synth's outputs, aka the same notes always come out of the same outputs.

    That's only if you always play 4-note chords, right?

    There are 4 CCs, 1 CC per voice to reassign the voice to 1 of the 4 outputs, I want this to happen randomly

    Doesn't the multitimbral synth already output the sound of each MIDI channel on its own dedicated output?

    Or is it that you want to deliberatey override this behavior?

    If so, how do you intend to keep the CCs in sync with the Note-Ons?

    Sorry but I still don't get the purpose of this.

  • | That's only if you always play 4-note chords, right?

    Yes, but I also had no luck with 'One of Many' conditions, it still locked particular notes to outputs.


    | Or is it that you want to deliberately override this behaviour?

    Exactly, as I have different FX sitting after each output, hence that I don't need cycling repetition there but just randomly picked and non overlapping outputs.


    | If so, how do you intend to keep the CCs in sync with the Note-Ons?

    Simply by taking each trigger for the Random generator out of its dedicated Midi to CV module sitting after each MIDI to Poly's 4 output channels, unless I'm missing something here?

Sign In or Register to comment.