Transform: set id|value to Channel

Would it be possible to add a 5th option to the two relevant dropdowns in Transform ?


  • Arg1
  • Arg2
  • 2ndByte/“N/A”
  • 3rdByte/“N/A”
  • Channel/“N/A”

It’s one of those things that comes up only every now and then when devising patches…

…but when it does, it needs circuitous work-arounds akin to the sorts of tricks needed before Transform got turbocharged with Use .. in Range Low|High

So you’d want to set byte 2 or byte 3 of the transformed message to the incoming message’s channel number?

Yep, so basically have the code check the Status byte.
If it’s >= F0 (?) it’s N/A
do as you say

Guess it would just come out as 0-15 but could be scaled 0-127 so that it’s directly available as an internal mapping.
Given that that would be it’s main usage, I guess it would go hand in hand with that “zen” upgrade! :smiley:

Hey! Kinda related to this. I was hoping I could setup my transform so that a Note On would be replaced by a Program Change using the Note Value as program number, but with an offset. Example: map the Note On from D8 to G9 (110 to 126) to Program Change numbers 0-16, which is Note Value - 100

Have you tried Transpose before the Note → PC Transform?


Yes, but I have other mappings to that note region, which would be overwritten. I have Song Select messages on 0-15 already, and wanted to have Program Changes on 100-115. If I do a transpose from note 100 to note 0 before the transform it fires a Song Select message. The offset would have to made inside the transform node that handles the Program Changes, after accepting the 100-115 range of note values.

I don’t see a problem if this Program Change stream can be nicely isolated in a virtual pipeline.

I’d be intrigued if this were impossible:
Please upload the preset in progress so that community members can have a look (if it’s a big preset a few words about which lines are key would be useful!)


You are correct, I just tested some more and by doing it in another pipeline, restricting the input range of note values and then transposing before the transform does the trick! Thank you so much for the help

1 Like

To avoid possible duplication (of say CCs) maybe add a filter so that nothing but your PC comes out?

Yes, I actually had that already for the Song Select pipeline. I’ll add it to this new one as well. Thanks! I must say that the midihub is the sole reason I’m able to control the Arturia Keystep Pro using a Roland SPD-SX :slight_smile: