Convert CC MIDI Message to an NRPN message
I am trying to create a patcher that will receive a MIDI CC message from a slider control in a program called TouchOSC. I want the slider in TouchOSC to control a fader on my Allen & Heath GLD-80 sound system. I have been able to do this in the past with individual MIDI messages sent from Bome MIDI Translator using this syntax:
B1 63 4E B1 62 17 B1 06 7F
The 4E is the channel on the GLD-80, and 7F is the fader position.
I obviously need to do this with TouchOSC and make the fader number dynamic, which I have done, but I can't seem to figure out why the channel number will not convert properly. The GLD-80 has certain values it wants to use for the channels

I've tried everything I can think of to plug these values in but my knowledge of Hex is a bit lacking. No matter what number I use the MIDI message that is sent by Max will not go any higher than 2F.
I've attached my patcher I'm working with, I've tried many different combinations of things, so it may appear overkill or I'm completely going in the wrong direction.
you probably mixed up the parameter for "channel" with the midi channel.
this is what he needs - someone else might finish it.
Fader Level
NRPN with parameter ID 17
Fader value LV –inf to +10dB = 00 to 7F
Select channel BN, 63, CH,
Parameter BN, 62, 17,
Set fader value BN, 06, LV
I got that and I’m passing that value. It’s the channel value that’s not getting translated correctly.
So should that value always be a number between 1 - 127?
NRPNs are basically like 14 bit CCs made of 2 CCs, just without these 32-numbers-offset, and followed by a data entry command (so they are always using 3 controllers, here 63, 62, 6)
their range is the same as in regular CC messages, which is 0 - 127. but of course a device might only understand 1-127, or 0 - 100.
i am not an expert enough to give a clear answer what you have to do - and i find the way this manual describes things a bit confusing.
have you checked yet if you are somehow in a only-16-channel mode in the device?
I don't think it's the device. I'm not even trying it on the device yet, I'm using MIDI Monitor to see the message. I can use Bome Translator to send the correct value as a raw MIDI message and it appears correctly. For instance I can send the message with the format: B1 63 4E B1 62 17 B1 06 7F
4E = input 47
7F = 127 on the fader
I know the device does works with this message, because this is how I'm controlling it now basically with 10db steps using the message from Bome with incremental values in the message above in the CC6 message.
I can get Max to create the exact same message all the way to the point it actually sends the message to midiout, but when it's sent out somehow the the value in CC99 message that represents the input channel 4E will not go above the value of 2F, almost as if there's some limit I'm not able to get past.
Thanks for all the help, but I think it was a ID10T error. I originally thought using a @highres attribute fixed the problem, but it actually uncovered another issue that I think was my problem all along. I am trying to make sure that when either the input or fader value changes I always fully send the CC messages in the correct order to form the NRPN message. I'm using a bangbang to send to all of the objects that form the message and I think I had too many patch cords going to some of the numbers. I can't wait to try it out tomorrow on my board!
what do you use? pak or message are usually a good idea. then first collect all the array content in a zl reg, and fire it up when all is done.