How to? transpose from midi note event please

Hello, I need a Keyboard “A” to send notes in say channel 16 , to instruct a Midihub to transpose say channel 1.

Example : note 50 to instruct transposing +1 semitone to a whole channel 1
note 51 to instruct transposing +2 semitones to a whole channel 1
note 52 to instruct transposing +3 semitones to a whole channel 1
note 49 to instruct transposing -1 semitones to a whole channel 1

etc etc. I cant find “logic” mods, like " IF x=1, then do “THIS” like in programing

thank you for your help in advance

I hope I’m wrong but I can’t see a way to do this with notes from a keyboard.

I thought of trying to switch between multiple pipelines, each with different transpose values. But it seems that mapping functions are too limited for this approach currently. You would need one note message to enable the desired pipeline and bypass all the rest.

My other idea was to map transpose semitones value to your keyboard keys, but it doesn’t work for me. Seems like it uses velocity and always reverts to -64.

Do you have a way to define some buttons with custom midi values? I use a launchpad and can configure a bank of buttons, each setting a different transpose value.

It can be done … but it’s not simple :slight_smile:
I did this a while back, so I can’t remember all the detail, but it went something like this …
First, you need a spare input, or some way of looping midi from your controller, after being transformed/manipulated, back into the midihub.
You need to transform the note values into cc values … you need to play around a bit to make sure that the note results in the right cc data value.
The cc value is sent out, and is received at a midihub input … hence, it can be mapped to the transpose pipe to set the transpose semitiones control.
The only problem is that, if yo press “map” on the transpose pipe, what will be mapped is the initial note (not the cc you transformed it into. The solution is to insert a delay into the note transform pipe, say a bar or something. Then, you can play a note, then press map, then it’ll be the delayed cc that gets mapped to the control. Once mapped, you can bypass the delay and control will be instant.
Good luck :slight_smile:


Wow, that is brilliant! I had a couple of other ideas that required mapping of a processed/manipulated message. This makes it possible.

I don’t have a free port for a loop back cable but should be able to set up a repeater on my Pi attached by USB.

Hope we eventually get the ability to map MidiHub processed messages without needing to loop back.

1 Like

Thank you guys for replying. It seems quite complicated. I think i will just make a preset per transpose ( limited to 8 on hardware, as opposed to the 24 I wanted ) but i guess it should work fine. Instead of a keyboard i will use a foot pedal sending program change. I still think Blokas should program some other functions in their software.

I guess i can change in real time between the 8 midihub presets via its own Midi channel using a program change controller such as a foot pedal right ? ( without to touch the button in the midihub )

Yes, you can use Program Change 0 - 7 to switch between preset 1-8. Configure the port that listens to Program Change in Device → Settings.

Some features that will enable this use case and more are planned for future updates. :slight_smile:

1 Like