Dispatcher random output ch?

Is there a way to randomize the dispatcher midi out channel? Now it goes Sequentially.

If i send out monophonic line, same synth plays after same synth everytime. I would like to have random option.

I can’t think of any way at the moment, we’ll note to add an argument to the pipe to allow switching between alternative channel allocation algorithms.

It would nice.

While you are at it: Why not add Random, Other, Ping Pong, Every Other / Odd Even etc.

I would find lot of use for those :smiley:


Any updates on this ?
I’m looking to have a randomized channel output, any ways to achieve it ?

Thanks in advance !

1 Like

Indeed it would be great feature!

It can be done in a few different ways. Wont try to list them all but off the top of my head…

Use random pipe>transform pipe value to CC#/Value, map that CC# to “ch out” high/low in a channel remap pipe or use a transform pipe and map to “set to channel” in another pipeline.

The transform pipe is pretty powerful when combined with mapping and external loopbacks. There aren’t very many things that can’t be accomplished using transforms and looping back.


Nice. I think you might need to sketch it out though (unless @LandscapeSetting or @Freeks have already done so based on your hints!)

Sticking with Dispatcher, Freeks’ older comment…

…it would be nice to have a Type attribute like Arpeggiator to cover Dispatcher patterns.

PS. A Help Needed request on PatchStorage initially struck me as calling for a Repetitions attribute as well, but now I’m not so sure…

Random Ch.mhp (621 Bytes)

The LFO and the first transform is just there to set up the mapping and demonstrating that its working and should be deleted for use. Instead of channel remap you could also use transform then map to “Set channel”.

Edit: I had a few settings wrong the first time I uploaded the patch. I edited the patch to make sure it was working as random and reuploaded.


Very nice !

Thank you

How does it know how to send the Note_off to the same Channel as it sent the Note_on, Joey?

(Send each Note_off to all Channels?)

Ahh that’s a good point, a note off to all channels should be the easy solution

Trouble is, I can only think of really scruffy ways to make 16 copies of a note_off!

Filter(Only Off)>Transform(Off>On)>Delay(0ms x 16)>Dispatcher>Transform(On>Off)

Is there a neater way?

Random Ch.mhp (631 Bytes)

Ok here we go. I had to reach deep into the tool box to figure this one out. Luckily I’ve been playing around with the note length pipe for a few days. It has a cool feature that will trigger the control note only after a note is released. The control note is mapped to the hi/low in the CH Remap on the second pipeline and will only switch the channels after the control note is released.

After initial testing it appears to be working flawlessly. Play with the values in random to suit your taste. You could even map the values to a control so you can play with them in real time and constrict or expand the channels. I’m working on a way to “spread” 2 or more different mappings to one control so that may be useful for your usage.

I have a very big second idea that I’ll post way later. Its less economical(uses a lot of pipes and lots of mappings) but it would allow you to put different processing on each channel. Examples would be an arp on channel 1, different arp on channel 2, delay on channel 3, transpose on channel 4, chance on channel 5, etc etc etc and it ideally will switch these pipelines randomly. Ill likely set it to optionally switch between random switching on incoming notes or just have the pipelines randomly cycling consistently but the cycling would be synced to the clock and adjustable with temp div pipe or maybe a second/third clock.

1 Like

As far as ping pong and every other channel or other wacky types of switching, they can be accomplished by using a one shot LFO pipe triggered by a control note.

Random Ch LFO.mhp (766 Bytes)


I’m unable to have this patch working. I must be missing a very simple step.
Is it just a matter of loading it and it works right away ? Or is there any ‘setup’ needed ?

Thanks in advance for your help !

Do you have a physical loopback? Which step isn’t working?

@JoeyButters Like the Note_off trigger for the Length pipe, Joey!
Is the Randomizer Positive != Negative to give a weighting?

Question: how does Note 57 get to MIDI CONTROL LOOP IN Ch6 for the From_A Bypass?

EDIT: Just noticed: Transform is not forcing Channel 1: If @LandscapeSetting is using Ch2-16 that might be the reason :wink:

Been a while since I played around this. I’ll have to give it a look over.

Edit. I don’t have the MidiHub setup right now so I can’t test it out but I see the first transform pipe is set to transform notes into note 2(argument 1= 2) instead of note 1 which is the mapped note for the manual retrigger for the LFO in the second pipeline.

Set argument 2(note) to 1(note), or remap the manual retrigger to note 2, or you can use whatever note or CC you would prefer. You may also need to set velocity to argument 2, argument 2 being 100.

Also try unchecking the note off box from the filter pipes. I don’t remember why that was checked or if it was necessary to be filtered out.

Note 57 was just a mapping I was using to bypass the input for testing and can be disregarded. But it is a useful way to turn off that lfo channel switching pipeline when the desire is to use another type of processing in the same preset.

Yes, necessary cos else map reverts to 0 = channel 1 on Note_off

1 Like

Oh that must be it !
Shall I connect a midi cable from one of the outputs and back to one of the inputs ?
I guess that’s what those arrows mean. Which midi ports ?

Thanks again