Midi Nrpn/rpn Device

This is just a small suggestion for convenience’s sake. The ability to send NRPN and RPN messages from renoise would be a nice feature because it seems that a lot of hardware utilizes NRPN messages and not CC messages because the settings that they tweak are not standard.

For those who do not know, RPN and NRPN stand for “Registered Parameter Number” and “Non-Registered Parameter Number” respectively. RPNs are apart of the midi standard, but they are not as important to me because it is for specific things like tuning. Now, NRPN support would be a plus because it is often used for things that are not apart of the MIDI standard, NRPN is are little ad-hoc extensions made by the manufacturer for a specific piece of equipment. So a lot of gear like the Korg Electribe series, or the Alesis Ion/Micron and a some of the Yamaha tone modules to name a few support the NPRN messages for the very specific settings in that device.

NRPN and RPN work pretty much like a mutant version of the MIDI CC. Unlike midi CCs that send two controller messages, one for the parameter that is going to be edited, and one for the value of the parameter, it sends four of them. In RPN messages is sends the value of the parameter to be edited on CC 100 and the actual variable variable for that parameter on CC 101. NRPN works in the same way but with CCs 98 and 99. So it pretty much works like CCs but it sends two different values in step on two different CCs.

Currently, there are a couple of ways to get around this depending on what operating system you have. In windows, MIDI yoke has NRPN conversion built in, so you could use that. On macs, you can use the IAC driver and a puredata patch that converts the CC number into an NRPN parameter number and the value along with it.


And on Linux you could do the same thing but chances are somebody already hacked something up for it.

Renoise already lets you create presets for the MIDI CC device, so the fact that NRPNs vary from device to device wouldn’t matter too much because you can have it all labeled from a preset. I know there are ways you can get around it using the methods I described, but NRPN/RPN messaging built-in would be handy and I don’t think it would be very hard to implement into the program.

Yup. And this would be super easy to do I guess, since they use standard midi commands.

This can be emulated with MIDI CC device tho, but it’s rather cumbersome. It would be much better to have (N)RPN device like MIDI-CC device.

BTW. CC98/99 for NRPN and 100/101 for RPN are used just to set parameter number while CC6 and 38 are used to set parameter value for both depending on active parameter. What needs to be considered is that actual implementation can be non-standard, Novation Nova f.ex. do not use CC38 for value fine tuning, and does not use RPN at all. Instead CCs 100 & 101 are used for parameters directly.

This isn’t a problem really because of course you have to know your gear to toy with it. Simple “off”-value like in MIDI-CC device is enough to avoid conflicts.

Oh, and found this with google (which I suggest you use for more information if needed):


Dunno about the author tho, so dunno about his credibility either.

So since the CC values for the parameter and parameter tuning can vary so much, I think the most flexible solution would be just to let you choose the CC for the value of the parameter and the CC for the value of the parameter tune variable. Thoughts?

I can’t think of a solution that would satisfy all the uses with current slider approach, since there can be many different functions behind stacked multi-function nrpns, but the value and fine tune are sent always on same CC, as are the parameter select for rpn and nrpn. So best would be make one or two devices for this that would be just specific midi-CC devices that send set rpn or nrpn parameters.

If we could get scriptable automation devices with possibility for buttons and sliders then we could practically emulate on-board control with midi thus allowing powerful host-based automation and remote control. Like button that cycles through handful of NRPNs when pressing and displays name associated with parameter, or slider that has named values for set parameter range and such. If implemented correctly we could have total control over midi-devices from inside renoise, which would turn your MIDI synth or fx into external plugin.

With extensive user contribution a huge database for MIDI control presets could be made. This would make MIDI guys life a bit easier. Of course this is not a bad idea at all for current MIDI-CC device either.

so i’m trying to figure out how to send nprn changes in renoise to a shruti-1 synth. is this possible? i can’t figure out from this thread if it is or not. I have midiyoke.

It’s specifically arpeg pattern changes i want to make. do i have this right?
set a CC slider in the midi CC device to cc98 or 99 and dial the nprn number you want to send. then set cc6 and 38 for the value

is that correct?

edit. hmm. gotta do some midi ox wizadry?

Apparently, you CAN do it, but it’s complicated, from what I gathered.
The feature i got no legs is talking about would make it easier.

i’ll have a look i guess. or i’ll just record the parts separately. :(

If the work fails, give i got no legs your +1, like me:


i wonder will 2.6 scripting allow people to write all kinds of scripts that could include all this basic midi stuff?