NRPN continuous parameters jump (all or nothing)

NRPN continuous parameters jump (all or nothing)
« on: February 20, 2022, 03:22:27 AM »
Dear Rev2-ers,

I aim to control the separate layer volumes using my iPhone, but experience all-or-nothing "jumps" instead of smoothly increasing values.

Setup:
- Roland WM-1 bluetooth midi to connect rev2 to iPhone.
- midi receive on rev2 set to "NRPN"
- on iPhone, I use the "midi designer pro 2" app to create a slider with NRPN message as output
- I send, for example, to NRPN channel 29 (Volume layer A), values 0-127 (but the same happens with any other continuous NRPN parameter)

Behavior:
- the correct parameter responds (in this case volume layer A)
- however, the volume takes value 0 when I send 0 (correct), but jumps to 127 with any sent value 1-127
- the same happens with any other parameter, e.g., filter cutoff, or modulation destination, it always jumpt from the first to the last value.

Trouble shooting until now:
- in the log of the midi designer pro 2, I see that the output of the app is a continuously increasing value, which is correct

Can anyone tell me whether I am doing something wrong? Or anyone who got this working with a different setup?

Thanks a lot in advance!

maxter

  • ***
  • 419
Re: NRPN continuous parameters jump (all or nothing)
« Reply #1 on: February 20, 2022, 02:17:26 PM »
If you have a MIDI interface to connect to your computer, you could stick the WM-1 in the MIDI interface, and use a MIDI monitor, such as MIDI-OX, to see what is actually output over bluetooth.

I have a suspicion, but I haven't used midi designer pro, so just a guess... but anyhow... NRPN is practically using TWO variable bytes of 0-127, a LOW byte and a HIGH byte... which means for one NRPN parameter, you have available values of 0-16383 (128x128). ONE of the bytes go from 0-127 first, and upon reaching the next value (128) it goes to 0 to start over, while the SECOND byte goes from 0 to 1. Then another cycle of the first, before the second steps up to a value of 2...

Therefore, I suspect the wrong byte (of the 2) is being controlled by the slider you made. As there are only 128 values for layer volume, changing the wrong byte from 0 to 1 should indeed make the Rev2 go to full volume of 127. The other byte, the one you intend to control, likely stays at 0 throughout. You want the opposite behavior...

Sorry if the explanation is a bit convoluted, but I hope you get the idea. I'd bet the issue is with midi designer pro, in that case you'll be able to fix whatever got wrong with the sliders. On TBMS app, there's a checkbox to "Invert MSB/LSB" which would fix it, there should be something similar on MDP app as well.
« Last Edit: February 20, 2022, 02:31:18 PM by maxter »
The Way the Truth and the Life

maxter

  • ***
  • 419
Re: NRPN continuous parameters jump (all or nothing)
« Reply #2 on: February 20, 2022, 04:00:00 PM »
Btw, it could also be that the sliders are set to transmit values 0-16383, while set to 128 steps/ticks. That would likely produce the same result...  for each step the slider moves, it goes a +128 in value. This would give something like:

(step#),(MSB),(LSB),(combined value):

0, 0, 0, 0
1, 0, 1, 128
2, 0, 2, 256
3, 0, 3, 384
etc...

If that's the case, just change the sliders value range from 0-16383 to 0-127. Should go like this:

0, 0, 0, 0
1, 1, 0, 1
2, 2, 0, 2
etc...
« Last Edit: February 20, 2022, 04:03:59 PM by maxter »
The Way the Truth and the Life

Re: NRPN continuous parameters jump (all or nothing)
« Reply #3 on: February 21, 2022, 02:06:03 AM »
Dear Maxter,

Thanks for your input, highly appreciated. You hypothesis seems rather plausible. I will have a closer look at what the app sends out and whether this is indeed an msb/lsb mixup. Did you ever manage to work with NRPN on the Rev2? Would be cool to exclude the possibility that the Rev2 simply responds incorrectly.

maxter

  • ***
  • 419
Re: NRPN continuous parameters jump (all or nothing)
« Reply #4 on: February 21, 2022, 05:06:32 AM »
I'm quite sure that the Rev2 is receiving and reacting just fine to the message being sent, as going from 0 to 127 with ONE step is expected in those scenarios. Any message sent between 127-16383 received should have that effect (on layer volume parameter)

Yes, I made an iPad editor on TBMS for the Rev2, using only NRPNs.

Another thing to check, if there's a "Fine Value" box to tick on the MDP app sliders.

I'll attach pics of the slider setup from my editor. First pic is right, with values 0-127. Second pic is one of the plausible problems. Check out the lower section "MESSAGE VALUE", everything I've mentioned is there.
« Last Edit: February 21, 2022, 05:09:09 AM by maxter »
The Way the Truth and the Life

Re: NRPN continuous parameters jump (all or nothing)
« Reply #5 on: February 21, 2022, 12:07:47 PM »
Dear Maxter, thanks so much, it woks now!
Indeed, the fix was switching to the fine value setting (called "NRPN (0 - 16K)" in this app) and limiting the range to 0 - 127. For anyone working with midi designer pro 2 and not knowing how to do this, I here share the settings that make it work.

Example: slider for adjusting volume of Layer A:
After creating a slider,
in the slider's "general" tab:
- display Min->Max: 0 - 127
- # of ticks: 128
in the slider's midi tab:
- Message type: NRPN (0-16K)
- Channel - MSB - LSB: 1 - 0 - 29
Here, 1 can be changed in the midi channel that you prefer. If you need, e.g., volume Layer B, which is according to manual NRPN 2077, you need 1 - 16 - 29 (because 16 * 128 + 29 = 2077)
- Midi Min -> Max: 0 - 127