Controlling the Hydrasynth with MAX8 via MIDI-NRPN
Hi!
I want to control my hydrasynth with Max8. It's simple with CC but I don't get it with NRPN-Messages. Can anyone tell me, how to send a number with a live-dial zo the hydrasynth?! Is it possible to send NRPN in Hydrasynth MPE-Mode?
Here the MIDI-Specification:

Also don't understand VV and WW?!
Thanks for your help...
VV*128+WW can only mean that
VV represents MSB value and WW LSB value of NRPN message.
full message in raw midi bytes would depend on NRPN specs of that device.
in Max you can try nrpnout object
Unfortunately, I'm completely overwhelmed by this NRPN thing. I'll take another look at it, but I was kind of hoping someone here could provide a patch that would show me how to transfer MIDI NRPN data from MAX to the Hydrasynth. I can't find much information about it online, and unfortunately, I don't find the NRPNout object or the other MIDI help files very helpful either.
Ok, I’ll post few examples when I get home later today, if you can provide nrpn specs of that keyboard
I guess it should do
I’ll let you know
Ok , it looks as following.
NRPN message is formed using 4 CC messages
1 & 2 are parameter number, 3 & 4 are values, both MSB LSB
4 CC numbers are 99 98 6 38
as we send raw midi, one has to prepend status bytes which for CC messages
range from 176 ~ 191 for midi channels 1 ~ 16.
you will need to convert parameter number and values from HEX to decimal.
then form MSB LSB parameter and 2 values, for example OSC Mode :

3FH 18H hex = 63 24 decimal (H makes sure that we understand it as Hex number)
176 99 63 176 98 24 176 6 nn 176 38 nn
176 99 63 = MSB parameter (that stupid description VV)
176 98 24 = LSB parameter (that stupid description WW)
176 6 nn = MSB value 0, 1, 2 to target OSC1, OSC2 or OSC3
176 38 nn = LSB value which in this case selects mode , 0 = single, 1 = WaveScan.
For example to set OSC1 to WaveScan using midi channel 1
176 99 63 176 98 24 176 6 0 176 38 1 as raw midi message
to set OSC2 to Single
176 99 63 176 98 24 176 6 1 176 38 0

or you do it like this :

...................................
for NRPN values which use hires you need to create MSB LSB
let's take OSC1 Type

it says 3FH 19H = dec 63 25, value range 0 ~218
176 99 63 176 98 25 176 6 nn 176 38 nn
in max 0 ~ 16383 (14 bit value) to MSB LSB :

in this case you keep value to max 218, I don't know what you synth would do if you send
out of range controls.
to convert Hex to decimal pairs, use sprintf 0x%s 0x%s

.........................
I hope this helps you
thanks a lot … I will test it the next days and give feedback 😊
hey! thanks so much for for this great explanation - it works fine and now I can better understand it! are the parameter number 99 98 same for all synths?!
CC# numbers 99 98 6 38 are fixed NRPN Control numbers.
parameters and values are of course different in most cases.
This might interest you as well
indeed, this additional information is really helpful! thanks so much 🙏