Im trying to figure out how to get Midihub to change the Midi channel depending on the CC number and then send the value to a fixed CC. Example: I send a CC 01(variable) to midi channel 15 and then midihub changes it to send a CC 95 (fixed) to midi channel 01(variable deppending on input CC)
It is even possible? Im scratching my head trying to figure it out. Any help appreciated. Thanks in advance!
I send a CC 01(variable) to midi channel 15 and then midihub changes it to send a CC 95 (fixed) to midi channel 01(variable deppending on input CC)
…means the same as…
I send a CC 01 value on channel 15, then midihub changes it to send a CC 95 fixed value on a midi channel (variable and dependent on CC 01value)
…then you want as many Transform pipes as output channels.
So for example, for 4 channels you would have 4 Transforms, each identical apart from theSet Channel To and the Work with Value in Range Low|High settings
Work with Value in Range Low|High → Set Channel To values could be
Yeah sorry i think i didnt explain it correctly. English is not my main language and its hard for me to even try to explain it in my mother tounge.
What im trying to accomplish is to make the CC number (not value) change the midi channel of the output CC message (fixed number and variable value).
So for example if i send a midi CC16 with a value of 13 to channel 03 i want to output a CC95 (always the same number no matter what) to channel 16 (changing depending on CC number) with the same value as the input (in this case, 13). Hope its clearer now.
Im doing this because i’ve run out of midi channels in my controller to control my elektron devices (they each use a midi channel per track) so i want to use the Midihub for filtering and distributing the CCs. Ive also want a feedback midi loop in each device so its a pretty complicated setup. Maybe im missing something it but i cant think of other solution right now.
I think what im really asking is to have the option to select CC Number in the Set Channel To section of the transform pipeline instead of a fixed value but maybe there is a workaround?
OK, Sergio, I’ve got ch03.CC#16 value 13 → ch16.CC#95 value 13 give us a couple of other examples so I’m clearer in my head about what your range of solutions might be.
also want a feedback midi loop in each device
I guess you mean loop like “Elektron X” → Midihub → “Elektron X”
maybe there is a workaround?
Definitely. It may involve Transforms–or even a Channel Remap after a CC Range Filter might suit your needs–but almost certainly do-able
Yes. Basically now i have:
Midi controller out → Midihub 1 → External synths
Digitakt out → Midihub 2 → Digitakt in
Digitone out → Midihub 3 → Digitone in
Octatrack out → Midihub 4 → Octatrack in
So i need something like 42 midi channels to adress each track separately. Does it make sense?
I was thinking the same. Initially i thought about using the Transform pipe because i thoght i could transform midi channels but it was channel pressure. I just wish it doesnt involve a single pipeline for each CC because thats going to be a lot of work
Thanks so much for all the help, you guys are the best!
It may involve multiple pipes all in a single pipeline, Sergio, but it will be at worst a “do once” job (if you want to see a lot of Transforms, check out my Volca Drum patch on patchstorage!)
Thx for the examples, I was hoping to see some patterns there (like CC#29-32 → ch14-17) but unfortunately not so far.
But, there may be sub-patterns in the whole set of 42.
For example, I notice (obviously!) everything goes to CC#95(same value). That means that once the channels are changed to the ones you want you (and you’re in a pipeline where no other CC is gonna get messed up), you can just do a CC remap {16,30} → {95,95}
Now if your whole set can be broken into "Channel Remap"groups like your 03.CC#29 & 07.CC#30 you might be able to shortcut the process.
If you can be bothered to post up all your coordinate pairs…
(…in shorthand if you like, like this…)
03,16,13 → 16
11,28,127 → 14
01,29,72 → 15
03,29,72 → 15
07,30,32 → 16
(here I’ve left out the ,95,n cos I assume that applies overall)
…then I can tell you whether there’s any savings to be found.
btw, if in the end it’s quicker to just plod through with lots of Transforms, you can save a lot of boring property-setting by setting up one Transform with right settings and the using alt-drag to make a copy with the same settings. Slightly less boring!
Use pair of CC Range Filter and Channel Range Filter to restrict what gets through to the Channel Remap
Duplicate (right-click) of line 1 for different subset of Channels x CCids
dead pipeline to just to say “more lines like above”!
bring all together to remap the CC ids
Now if you’re at the planning stage and have choice over channels/CCids, you should be able to use this approach to do whole batches of controls per pipeline.
Note:some of the Remaps are “upside down” ({1,3} → {16,14}). Many users miss this trick think!
Hey sorry for the late response but i didnt had the time to try your patch out till now. It was hard to understand for me at first but it totally works.