Rechannelize notes based on velocity

I would like to be able to dynamically rechannelize MIDI note messages based on velocity. For instance, if the velocity is under 85 I would like to keep it on MIDI channel 1, but if it goes in the 86-127 range I would like to send the note out on MIDI channel 2. This way, I could choose two different synthesizer destinations dynamically as I play based on how hard I strike the keys.
Can this currently be done with Midihub? If so, how?
If it cannot currently be done, is this a type of functionality that could be added?
Thanks for any help!

This is possible for Note On messages using the Transform pipe. Note Off messages are the tricky part, as they have a different velocity (usually 0), so they can’t be easily matched to the same destination where the Note On was sent to.

It is possible that this might not be a problem though, if Note Off messages are always sent to both destinations, and they are able to tolerate that. (the standard asks for every Note On message to have a the same count of Note Off messages for things go smooth, but synths may be able to cope with too many Note Offs by just ignoring irrelevant ones)

To do it with a couple of Transforms, use the “Set Channel To” and “Work With Velocity” parameters to selectively send particular Note On messages to the desired channels, and another one or two transforms that would duplicate Note Off messages to both channels used.

1 Like

Thanks, Giedrius! I will try that tomorrow and post here again when I am able to get something working. I appreciate your insights.