Is there a way to set up a "round-robin" function?


Just to say, I’m so glad to have received my Midihub this week. I’ve been keeping an eye on the release for a while now. It promises to make possible some fluidity with processes that have otherwise been very cumbersome to orchestrate. Thank you for getting it out there!

I am working primarily with a Nord Drum 2, so it behaves a little different to a conventional polyphonic synth. I was hoping that it would be possible to take a single note coming in and have it cycle through a set of notes round-robin style. This way I could integrate simple revolving melodic patterns, potentially weaving a couple of lines together using triggers and routing the Midi output through the Midihub and back into the input. (It would be very useful to be able to select whether the steps moved through are notes or Midi CC values, as the tone on the Nord Drum is controlled that way). Potentially it is possible to do this by connecting pipelines? I’d assumed (and hoped!) that this was what “scale remap” would do, but I now understand what it actually does … I’m still just getting attuned to how to configure things with the software, and it has already greatly streamlined the process of making interesting sounds.

I hope that’s clear - glad to clarify otherwise. Thanks!

Hey, you should be able to do that using the Dispatcher pipe - it sends each new note into a new channel, so what you’d have to do is send your original note through a dispatcher to a virtual output, then put in multiple matching virtual inputs, place a unique channel filter in each pipeline, process the message as you like, and send it to another virtual pipeline. There place a Channel Remap pipe to merge all the spread values back into a single channel, and send it out through real output. :slight_smile:

1 Like

Thank you so much for your swift reply, @Giedrius!

As I read through I was piecing together these parts I haven’t utilized, and I saw how it would work. The ability to combine the processes and conjoin things at different points is clearly very fluid and powerful - this is a good way (for me) to try to do that rudimentary work. I hadn’t even used a virtual pipeline yet … I’ll give it a go!

Hey, here’s an example patch of what I had in mind:

Dispatcher_CC_Gen.mhp (264 Bytes)

Modify the CC id in Transform pipe’s Argument property, the CC’s value is equal to the note velocity, the Rescale pipe can be used to adjust the range. Note that Out Low and Out High do not necessarily have to be Low < High. :wink:

1 Like