NRPNs and CCs

NRPNs and CCs
« on: December 11, 2016, 10:56:36 PM »
Part 1. I was setting up a midi device for the OB-6 in Nuendo and suddenly realized that many of the knobs and buttons on the OB-6 Module only seem to transmit when the Globals are set to NRPNs. When I have the Globals both set to CCs, I get no midi activity for many of the module's knobs and buttons. Is this normal?

Part 2. I was trying to use CCs because the recorded controller data when using NRPNs seems a little screwed up. See the attached image. Couldn't even try to edit what was a smooth filter sweep. 2nd controller lane down is the one with the filter cutoff movement. That is not what I did. It was just a smooth sweep up and down. Notice the gaps. It's like the value went off the scale and couldn't be represented. Sometimes those gaps have audible glitches as well. Does your recorded NRPN controller data look like this when all you did was a smooth sweep with the knob?

Maybe I need to change something in Nuendo or perhaps it just doesn't handle NRPNs very well. I know that used to be the case but I thought they improved that situation.

I'm only using the 5 pin old school midi connected directly to a RME Raydat. USB is not connected.
« Last Edit: December 11, 2016, 11:03:44 PM by Chimponaut »
Original Model D <> Sub 37 <> Minitaur <> Slim Phatty <> OB-6 <> Prophet Rev2 8Voice <> Integra 7 <> SE-02 <> Prologue16 <> Triton Le <> Boss Dr. Rhythm DR-55 <> Sound Gizmo

"They're not aliens...they're Americans!"
(The Mouse That Roared, 1959)

autoy

Re: NRPNs and CCs
« Reply #1 on: December 12, 2016, 06:14:13 PM »
Part 1. I was setting up a midi device for the OB-6 in Nuendo and suddenly realized that many of the knobs and buttons on the OB-6 Module only seem to transmit when the Globals are set to NRPNs. When I have the Globals both set to CCs, I get no midi activity for many of the module's knobs and buttons. Is this normal?

Part 2. I was trying to use CCs because the recorded controller data when using NRPNs seems a little screwed up. See the attached image. Couldn't even try to edit what was a smooth filter sweep. 2nd controller lane down is the one with the filter cutoff movement. That is not what I did. It was just a smooth sweep up and down. Notice the gaps. It's like the value went off the scale and couldn't be represented. Sometimes those gaps have audible glitches as well. Does your recorded NRPN controller data look like this when all you did was a smooth sweep with the knob?

Maybe I need to change something in Nuendo or perhaps it just doesn't handle NRPNs very well. I know that used to be the case but I thought they improved that situation.

I'm only using the 5 pin old school midi connected directly to a RME Raydat. USB is not connected.

This is a problem not related to Nuendo. Logic Pro X gets the same behavior, let's wait for someone at DSI to explain what's going on.

Re: NRPNs and CCs
« Reply #2 on: December 13, 2016, 11:02:01 AM »

This is a problem not related to Nuendo. Logic Pro X gets the same behavior, let's wait for someone at DSI to explain what's going on.

Wow, thanks for the info...I had no idea this issue might be caused by the synth. I have answered my first question above so that can be ignored. (Answer: All knobs and buttons transmit NRPNs, only the knobs common to most synths send CCs.) That seems a little off though because most synths have an LFO. Yet that part of the OB-6 only sends NRPNs.

Thanks again.
Original Model D <> Sub 37 <> Minitaur <> Slim Phatty <> OB-6 <> Prophet Rev2 8Voice <> Integra 7 <> SE-02 <> Prologue16 <> Triton Le <> Boss Dr. Rhythm DR-55 <> Sound Gizmo

"They're not aliens...they're Americans!"
(The Mouse That Roared, 1959)

autoy

Re: NRPNs and CCs
« Reply #3 on: December 14, 2016, 01:35:29 AM »

This is a problem not related to Nuendo. Logic Pro X gets the same behavior, let's wait for someone at DSI to explain what's going on.

Wow, thanks for the info...I had no idea this issue might be caused by the synth. I have answered my first question above so that can be ignored. (Answer: All knobs and buttons transmit NRPNs, only the knobs common to most synths send CCs.) That seems a little off though because most synths have an LFO. Yet that part of the OB-6 only sends NRPNs.

Thanks again.

I've been making some more tests and although every control sends NRPN in a weird way it seems to work well. In NRPN mode there are two types of controls, some do 0-127 (same resolution as CC) range and others do higher resolution 0-255. The latter is achieved sending a pair of 0-127+0-127 stream in a full sweep with a certain MSB/LSB combination. This results in a weird data stream drawing in your DAW, and it's certainly difficult to edit but it replays correctly, at least in logic. This said, Moog for example uses NRPN in a much more efficient and precise way generating parameters of 0-4096 steps (12 bit MIDI) with a combination of two CCs spaced 32 numbers apart. The DSI knobs' internal resolution may not be as high as 12 bit to support those kind of streams.

So why the use of NRPN? Two reasons: double the resolution on critical realtime parameters (filter, LFO...) and support the automation of every front panel control, instead of being limited to the standard MIDI CC list which only supports 128, many of which are fixed by the spec.

In brief: if you set your OB-6 in NRPN transmit/receive and record a MIDI passage in your sequencer with a knob sweep it should play back again perfectly. If it doesn't, your sequencer has problems with NRPN interpretation.

Re: NRPNs and CCs
« Reply #4 on: August 23, 2020, 03:45:58 PM »
Could you explain how to correctly send NRPN messages from Logic to DSI synths?
I am getting a headache in trying to automate the LFO rate on the Prophet 6 form Logic.


This is a problem not related to Nuendo. Logic Pro X gets the same behavior, let's wait for someone at DSI to explain what's going on.

Wow, thanks for the info...I had no idea this issue might be caused by the synth. I have answered my first question above so that can be ignored. (Answer: All knobs and buttons transmit NRPNs, only the knobs common to most synths send CCs.) That seems a little off though because most synths have an LFO. Yet that part of the OB-6 only sends NRPNs.

Thanks again.

I've been making some more tests and although every control sends NRPN in a weird way it seems to work well. In NRPN mode there are two types of controls, some do 0-127 (same resolution as CC) range and others do higher resolution 0-255. The latter is achieved sending a pair of 0-127+0-127 stream in a full sweep with a certain MSB/LSB combination. This results in a weird data stream drawing in your DAW, and it's certainly difficult to edit but it replays correctly, at least in logic. This said, Moog for example uses NRPN in a much more efficient and precise way generating parameters of 0-4096 steps (12 bit MIDI) with a combination of two CCs spaced 32 numbers apart. The DSI knobs' internal resolution may not be as high as 12 bit to support those kind of streams.

So why the use of NRPN? Two reasons: double the resolution on critical realtime parameters (filter, LFO...) and support the automation of every front panel control, instead of being limited to the standard MIDI CC list which only supports 128, many of which are fixed by the spec.

In brief: if you set your OB-6 in NRPN transmit/receive and record a MIDI passage in your sequencer with a knob sweep it should play back again perfectly. If it doesn't, your sequencer has problems with NRPN interpretation.

Re: NRPNs and CCs
« Reply #5 on: August 24, 2020, 02:47:44 AM »
They use NRPNs to add just one more bit and get 256 levels instead of 128.  At the knob's mid-point the MSB part of the NRPN message changes.  Because NRPNs are sent in two halves, the synth gets confused because it can see the MSB from one position and will match it with the LSB from the new position and will interpret it as a sudden jump to one end of the pot or the other depending on which direction you're moving. 
Try simply connecting midi in to midi out with a simple cable and turn Local Off.  NRPN mode obviously.  You'll hear a glitch at the centre of the knobs that use 256 levels, eg filter cutoff.  It's due to the way they implemented NRPNs.  They could have done it a neater way....  My Low Frequency Expander gets round this by using CCs for these parameters and NRPNs only for 127-;evel parameters.