Single channel to omni

Hello ! What a great upgrade ! Thank you so much !
One question here, another in another topic =)
I would like to multiply all messages coming from a single channel to all of the others. I mean, turning a single channel mode into “omni” mode. I know i could use the “ch remap” 16 times, using from 1 to 2 and then from 1 to 3, then from 1 to 4, etc… but i wondered if there could be another way, in order to avoid overloading the editor with this (i need to do it for every inputs…) ?
Thanks !!!


With the CH REMAP pipe, your mono channel being channel 1: in low 1, in high 1, out low 1, out high 16.

Hey, thanks for your answer !
But i already tried and i doesn’t seem to work. It stays on channel 1 and so says the monitor

Which message are you trying to transform? The messy way is to use up to 16 transform pipes and use the insert after settings and set channel to. If you are trying to save pipes there maty be other ways depending on which message you are trying to multiply.

No it won’t. Remaps can stretch out (or squeeze) the gaps between channels etc but not create new events

Aside from the pure arithmetic problem (3 x 16 x ?) of what you’re trying to do, you’ve got the problem of potential traffic jams (pileups even!). Any of the chatty event types like aftertouch, pitchbend, etc would be a nightmare…

Omni was never about multiple messages, only telling a synth not to be sniffy about which channel to listen to.

Taking sideways look:
What problem are you trying to overcome with this?

Hum, i’m trying to send my keyboard to a soundmodule that has a different instrument on each channel. Then if i could send the same “note on/off” and basics cc like pitch bend, sustain and modulation to every channels, i could select with a controller (touchosc on ipad) which channel to open or close. Then i could orchestrate the way i want. Or even play just one channel. That’s the goal to reach =)
So @JoeyButters, i don’t want to transform a message but duplicate it from one channel to all of them.
Thanks for your replies ^^

@JoeyButters suggested Transform cos it will create the same message but on a difft Channel

Can you get messages (ie. I’m opening to Channel 6 now ) form iPad to MH?

I believe if you are talking about turning on and off channels there is only really 2 options. Either you use the 16 transform pipes and map the bypasses to turn them on/off or you need 16 pipelines and each pipeline will remap Ch1 to a specific channel which uses more pipes but gives you the added benefit of processing each channel. Choosing which channel to turn off probably eliminates any compact solution.

True, but it can only select one type of message (like note on/off), and i want to transform/duplicate a certain batch of message : note on, note off, pitch bend, modulation, sustain.
If i do a transform pipe for each of these parameters, x16 x 3 (i have actually 3 soundmodules), i’m already reaching midihub’s limits.

I know it can become super messy. i’ll have to becareful. Actually i did a “Panic” button on my controller that sends CC123 to every channel, in case there is a stuck note or feedback. And here is another question : One of my soundmodule doesn’t recognize “All Notes Off” message but the Reset message by holding the button of the MH works. So i also send CC121 from my “Panic” button, like i saw on the midi monitor when i press MH’s button, but this doesn’t work. Then i wonder how does the “reset controller” message from the MH works ? so i can mimic for my controller.

Yes, it works perfectly, from USB. My idea was to map the touchosc/ipad for each “channel selection” with different CCs on a channel filter pipe. Or like @JoeyButters just said

I figured out this solution but i actually wanted to ask you professionnals ^^ if there could be a lighter solution. Because my editor is gonna be overloaded just by this “single to omni channel” section… And i have many others.

Cheers ! (and sorry for my english)

OK. Short answer: No Simple solutions if you go down this route.

  1. Joey’s correct about Transform. You need 16 per message type

  2. Ch.Remap remaps everything channel specific. But you need a pipeline for each so that’s 3 x16 at least. (plus you need filters to stop duplication of non-channel messages)

Just be aware

“each byte takes about 320 microseconds to send, and the maximum throughout on a MIDI connection is 3,125 bytes per second. The average MIDI message is three bytes long, taking roughly one millisecond to transmit.”

So when you’re multiplying by 16 that means about 60 messages per second.

A 14-bit PB ,a bit of aftertouch and some CC sweeps will go way over that.

Let me dig out a post for you…

(Found it TLDR)

It involved a 8th tone (Arabic scales) unit which did it’s work with Aftertouch and the guy was using it with a keyboard style with lots of PB to accompany his singer.

Even these two streams were enough to clog the pipeline before it got to MH.

Test it in the clunkiest way and see (or rather hear!) what your limits are…

1 Like

Well unfortunately you are pretty much restricted to one option then. You could use some creative mapping to change channels but if you want all messages to go everywhere at the same time and have the ability to turn certain channels on and off, you have to split it out to different pipelines. Splitting it to different pipelines is likely the most economical you could do because anything else, as you mentioned, would have to be duplicated for every type of message anyway.

1 Like