Can MidiHub transform midi messages for internal use?

So here’s what I’m trying to do, I want to remap the note values of my keyboard into a cc message to control a different parameter in another part of my midihub patch… but no matter what I do it always interprets my messages as note value messages, even after throwing a filter after my transform to only let cc commands through, it still interprets my message as note value rather than cc.
Midihub 2021.06.19 22.12.15 (Preset 4).mhp (176 Bytes)

Is this the entire preset? It looks like the attached file does the conversion of Note Number to CC #3 correctly. Could the note on messages be leaking through some other place using To Virtual A output?

I kept the patch real simple so the error could hopefully get sussed out with little confusion. I’ve got my keyboard coming in on port C and I want to use that converted CC#3 to control the Transpose pipe in the second lane of processing. At first I thought it must be an order of operations question, but if that were the case I’d expect no message to make it through instead of the wrong message making it through. And like I said, I’ve thrown a filter after the transform to filter out any message aside from CC and still when I try to map the Transpose pipe to CC#3 it maps it to Note#XX.

Ah, I see. Currently mapping this way is not possible. We plan to add special functionality for such use cases in a future version.

2 Likes

Alternatively, If there was some way to just map transpose to the note values on the keyboard rather than cc messages that would also fix the problem… seems like that would be a more intuitive way to control transpose from a performative level.

I think, currently, the only cc’s that are mapped to midihub parameter controls are those arriving at one of the four midi inputs, prior to any processing in the midihub.
One possible workaround, if you have a free input and output, is to transform midi coming in from your keyboard and route those messages to one of the outputs, then you can plug that output into a spare input using a cable. You need to be careful with filtering, channels selection and routing, because this is a recipe for midi feedback hell. But, in theory, these modified notes or ccs can then be mapped to internal parameters on the midihub.
One challenge is that any transformed note/cc arriving from your loopback will be preceded almost immediately prior by the note or cc you were sending originally and then transforming … so the mapping function is likely to map to that signal rather than your transformed versions.
A workaround for that is to add a delay in the pipes you’re using to transform the notes/ccs, then you can select ‘mapping’ after the pressing of the note on your keyboard, and before the delayed messages arrive at your loopbacked input … you can bypass the delay once the mapping has been achieved
Sorry for the long post, but hopefully there’s some ideas for you to try

1 Like