NRPN's and virtual instruments
Moderator: James Steele
Forum rules
This forum is for seeking solutions to technical problems involving Digital Performer and/or plug-ins on MacOS, as well as feature requests, criticisms, comparison to other DAWs.
This forum is for seeking solutions to technical problems involving Digital Performer and/or plug-ins on MacOS, as well as feature requests, criticisms, comparison to other DAWs.
-
- Posts: 21
- Joined: Thu Nov 16, 2006 8:35 am
- Primary DAW OS: MacOS
- Location: Santa Monica, CA
NRPN's and virtual instruments
How in the world does one assign NRPN's in a MIDI controller??? I'm using some of the software synths and would like to be able to adjust the virtual knobs with the rotary knobs on my Oxygen 8. I looked into how to assign NRPN's to a controller and, by god, it looks very complicated.
Is it? Or am I just missing something?
If someone knows, would you mind explaining to me how this works, or maybe direct me to a site that explains this?
Is it? Or am I just missing something?
If someone knows, would you mind explaining to me how this works, or maybe direct me to a site that explains this?
Powerbook G4; 1.67 Ghz; 1.5 GB Ram
DP 5.12
Pro Tools 7 LE
Mbox
DP 5.12
Pro Tools 7 LE
Mbox
Much of that should/could be assigned on your Ox8.
But here's something you could do as a layman's workaround:
Record-enable a MIDI track, then put DP into pause-record mode.
Turn a knob, and then take DP out of pause-record mode.
Check the track's event list to see what parameter DP shows for having just been registered. The knobs come with CC 10-17 preassigned by default. So, two of the knobs should automatically work with Pan and Expression.
You can then use "Reassign Continuous Data" in DP to make one controller number behave like another.
But there are over 16k NRPNs and RPNs, and each manufacturer may choose whatever number from 0 to 16,300 (+ a few). I'd personally wouldn't want to get that far into the setup process.
But if you want to set up your Ox8's knobs, if I recall-- it's been a while:
Hit MIDI Select
Hit whicherver one of the F's on the keyboard marked "SET CNTRL"
Use the number assigned keys to choose the number of the knob to which you want to assign a controller.
Hit Enter
Use the number keys to assign a controller number to the knob
Hit Enter
Choose a MIDI channel number for that knob
Hit Enter
(Make sure that Audio-MIDI and DP are set up to receive data on that channel from your OX8.)
Hit the MIDI Select button to finish.
Of course, the first thing I should have asked is which version of the Ox8 you have. I don't have the Ox8v2.
But here's something you could do as a layman's workaround:
Record-enable a MIDI track, then put DP into pause-record mode.
Turn a knob, and then take DP out of pause-record mode.
Check the track's event list to see what parameter DP shows for having just been registered. The knobs come with CC 10-17 preassigned by default. So, two of the knobs should automatically work with Pan and Expression.
You can then use "Reassign Continuous Data" in DP to make one controller number behave like another.
But there are over 16k NRPNs and RPNs, and each manufacturer may choose whatever number from 0 to 16,300 (+ a few). I'd personally wouldn't want to get that far into the setup process.
But if you want to set up your Ox8's knobs, if I recall-- it's been a while:
Hit MIDI Select
Hit whicherver one of the F's on the keyboard marked "SET CNTRL"
Use the number assigned keys to choose the number of the knob to which you want to assign a controller.
Hit Enter
Use the number keys to assign a controller number to the knob
Hit Enter
Choose a MIDI channel number for that knob
Hit Enter
(Make sure that Audio-MIDI and DP are set up to receive data on that channel from your OX8.)
Hit the MIDI Select button to finish.
Of course, the first thing I should have asked is which version of the Ox8 you have. I don't have the Ox8v2.
6,1 MacPro, 96GB RAM, macOS Monterey 12.7.6, DP 11.33
-
- Posts: 21
- Joined: Thu Nov 16, 2006 8:35 am
- Primary DAW OS: MacOS
- Location: Santa Monica, CA
Hit MIDI Select
Hit whicherver one of the F's on the keyboard marked "SET CNTRL"
Use the number assigned keys to choose the number of the knob to which you want to assign a controller.
Hit Enter
Use the number keys to assign a controller number to the knob
Hit Enter
Choose a MIDI channel number for that knob
Hit Enter
(Make sure that Audio-MIDI and DP are set up to receive data on that channel from your OX8.)
Hit the MIDI Select button to finish.
Thanks. Isn't this setup (the one described above), to assign MIDI control numbers to my controller? But isn't a MIDI control number different than a NRPN? Or am I mistaken? So let's say I'm using the Proton virtual synth, and would like to assign the "FM Amount", which has an NRPN of 13, to my Oxygen 8's rotary knob number 1. How do I go about this? Or is this just ridiculously difficult that it isn't worth the time and effort?
I have the earlier version of oxygen 8, not v2.
Powerbook G4; 1.67 Ghz; 1.5 GB Ram
DP 5.12
Pro Tools 7 LE
Mbox
DP 5.12
Pro Tools 7 LE
Mbox
I'd never heard of RPN/NRPN before this thread, frankly. All my softsynths take simple MIDI controllers... Thanks for bringing it up, learned something new tonight!
Yep, looks horribly complicated... http://www.philrees.co.uk/nrpnq.htm
So it seems RPN/NRPNs function essentially as replacement for SysEx, and are made up of 3 or 4 successive controller messages (In the following sequence: Ctrl. 101, 100, 6, and optional 38 for RPN; or 99, 98, 6, and optional 38 for NRPN.)
If I understood it correctly, the combined message creates the type of RPN/NRPN message (first two controller values), followed by it's actual value (the third and if necessary fourth controller value.) That's how you get 128x128 possible RPN/NRPNs, each with a resolution of up to 128x128. Or something like that...
Which means, no, you can't simply assign your Oxygen 8 to an RPN/NRPN. But someone who's handy with MAX should create a MIDI-Pluggo (does that even exist, Pluggos for MIDI?) to convert i.e. incoming pitch bend to an NRPN/RPN message.
For now it looks like it's much easier to program SysEx into a DP custom console. Done that before, though it's been a while... no need for it anymore.
Thanks again for bringing this question up.

Yep, looks horribly complicated... http://www.philrees.co.uk/nrpnq.htm
So it seems RPN/NRPNs function essentially as replacement for SysEx, and are made up of 3 or 4 successive controller messages (In the following sequence: Ctrl. 101, 100, 6, and optional 38 for RPN; or 99, 98, 6, and optional 38 for NRPN.)
If I understood it correctly, the combined message creates the type of RPN/NRPN message (first two controller values), followed by it's actual value (the third and if necessary fourth controller value.) That's how you get 128x128 possible RPN/NRPNs, each with a resolution of up to 128x128. Or something like that...
Which means, no, you can't simply assign your Oxygen 8 to an RPN/NRPN. But someone who's handy with MAX should create a MIDI-Pluggo (does that even exist, Pluggos for MIDI?) to convert i.e. incoming pitch bend to an NRPN/RPN message.
For now it looks like it's much easier to program SysEx into a DP custom console. Done that before, though it's been a while... no need for it anymore.
Thanks again for bringing this question up.

And of course the same website that explains the whole thing sells a controller box... duh.
http://www.philrees.co.uk/products/sliders.htm
That may do what you need it to do?
http://www.philrees.co.uk/products/sliders.htm
That may do what you need it to do?
There is a way to assign any MIDI CC to an NRPN...most of the DP VI Packins respond to NRPN only. I went through this a while back and can't remember the results, I just remember it was unpleasant like you say and I eventually gave up.
Edit: Went through inbox and...
Here is what I got from tech support:
Digital Performer's custom consoles do not currently send or receive NRPNs. However, you can convert an incoming CC to an NRPN using the Reassign Continuous Data plug-in:
- Insert the Reassign Continuous Data plug-in on the desired MIDI track
- Select Change
- Select the incoming MIDI CC in the top half
- Select the outgoing NRPN in the bottom half
You can have up to 20 inserts in the Mixing Board, so you can reassign up to 20 MIDI CCs in this way if you want.
Edit: Went through inbox and...
Here is what I got from tech support:
Digital Performer's custom consoles do not currently send or receive NRPNs. However, you can convert an incoming CC to an NRPN using the Reassign Continuous Data plug-in:
- Insert the Reassign Continuous Data plug-in on the desired MIDI track
- Select Change
- Select the incoming MIDI CC in the top half
- Select the outgoing NRPN in the bottom half
You can have up to 20 inserts in the Mixing Board, so you can reassign up to 20 MIDI CCs in this way if you want.
Holy ••••! This is one for the DP Tip Sheet! Awesome.crufty wrote:Digital Performer's custom consoles do not currently send or receive NRPNs. However, you can convert an incoming CC to an NRPN using the Reassign Continuous Data plug-in:
- Insert the Reassign Continuous Data plug-in on the desired MIDI track
- Select Change
- Select the incoming MIDI CC in the top half
- Select the outgoing NRPN in the bottom half
You can have up to 20 inserts in the Mixing Board, so you can reassign up to 20 MIDI CCs in this way if you want.
- Dwetmaster
- Posts: 3491
- Joined: Tue Aug 15, 2006 9:59 am
- Primary DAW OS: MacOS
- Location: Montreal Canada
Instead of adding it destructively, you can use the real-time MIDI plugin version of the reassign CC. When you have your whole setup on one track, you save it as a clipping insert chain for instant recall on any MIDI track you want. On the same clipping window you can have all you reassignment plug in of any VI you want and then you simply instantiate that instead of always changing the settings on your keyboard controller. You always leave the Keybd the same and you put that insert chain instead. It'S faster if you don't have a lot of presets available on your Keybd.crufty wrote:However, you can convert an incoming CC to an NRPN using the Reassign Continuous Data plug-in:
- Insert the Reassign Continuous Data plug-in on the desired MIDI track
- Select Change
- Select the incoming MIDI CC in the top half
- Select the outgoing NRPN in the bottom half
You can have up to 20 inserts in the Mixing Board, so you can reassign up to 20 MIDI CCs in this way if you want.
MacPro 8Core 2.8GHZ 16GB RAM OSX10.8.3
MacBook Pro 17" Unibody 2011 OSX10.8.3
896mk3, BLA Modded 896HD, BLA Microclock, MTP-AV, Yamaha KX-8, CME VX-7 Mackie Ctrl, megadrum, Presonus C-S,
DP8.04, Bidule, M5 3, Ethno 2, BPM 1.5 Kontakt4, BFD2, SD2, Omnisphere, Wave Arts P-S5, Altiverb7, PSP VW & OldTimer, VB3, Ivory 2 Grand, True Pianos, Ozone 5, Reason 4, AmpliTube3, Bla bla bla...
A few El & Ac basses & Guitars, Hammond A-100.
MacBook Pro 17" Unibody 2011 OSX10.8.3
896mk3, BLA Modded 896HD, BLA Microclock, MTP-AV, Yamaha KX-8, CME VX-7 Mackie Ctrl, megadrum, Presonus C-S,
DP8.04, Bidule, M5 3, Ethno 2, BPM 1.5 Kontakt4, BFD2, SD2, Omnisphere, Wave Arts P-S5, Altiverb7, PSP VW & OldTimer, VB3, Ivory 2 Grand, True Pianos, Ozone 5, Reason 4, AmpliTube3, Bla bla bla...
A few El & Ac basses & Guitars, Hammond A-100.