Determining NRPNs and Automation CCs for Instrument Definitions

I would love being able to name specific values or ranges. I’ve got so much gear where each value between 1 and n is a specific function, and it’s virtually impossible to operate with CC because I can never remember which values map to what.


I’ve just gotten my Hapax a couple days ago. I thought I would take a crack at an OB-6 instrument defintion. I got the CC stuff working fine and then realized that theres a bunch of NRPN params I would love to control, effects, xmod and things like that. So for example, I referred to the table in this manual

I started doing this:

0:0:7 VCO 1 Freq
0:1:7 VCO 1 Sync
0:2:7 VCO 1 Level
0:3:7 VCO 1 Shape

But when automating VCO 1 Freq, it just jumps to a very high frequency immediately and theres nothing in between. (I do know that the max value is 60, but I programmed very specific values below 60 and it still jumps to the highest pitch)

If I record the NRPN back into the HAPAX from the OB-6, I get 4 CCs recorded that do seem to cover the whole normal range of the osc pitch, but I don’t particularly want to figure out how to program 4 lanes of CCs to emulate the NRPN . So, I guess I’m just not sure what I’m doing or if I’m even on the right track, but if I could get it to work that would be neat, and then I could share this to others.

EDIT: Ok I figured out what my problem is, it’s a 14 bit nrpn. I didn’t realize because the jump is so extreme on 14 bit, I have to really dial it back to the 60 range. +1 for range or vertical zoom option, but yeah, I can work with this!


I am really too stupid for what you are discussing here :face_with_spiral_eyes:
i would love to add NRPNs like here
but i have no idea how to convert those for instrument definitions
help appreciated thank you!

they need to exist on the instrument in question before you can add them to a definition. not every instrument has the capability. mostly the ‘pro level’ stuff tho

that’s why i posted the link to the manual

Bildschirmfoto 2023-10-31 um 21.30.04

1 Like

i honestly dont own any high end stuff except some euro, and midi stuff is 7 bit cc only in my studio. i use 14 bit cc for my fh-2 but i use a definition that was made by somebody who understands nrpn better than i do. i have done some emulation of definitions that were pre-existing but i got busy and 7bit cc is the limit of most of my gear. even so, fh-2 has some sort of dithering mechanism that smooths out any aliasing. i think. :wink:

Don’t know if the Hypersynth Xenophone here is “high-end”, but it’s a very deep monosynth for sure.

It would be great if there is either a converter online or even better one included in the background of the HAPAX, so we could write instrument definitions with what is given in the instrument manuals’ CC and NRPN lists.

would it be possible to implement the conversion on the HAPAX?

there is no conversion. the way i understand it is there are 2 values in an nrpn pair: one cc that is considered the ‘most significant byte’ which is the coarse value, and another called the ‘least significant byte’ which is the fine value that exists between each coarse value. so every coarse value step conceals another 127 steps giving a resolution of 127 x 127. so if you only send the most significant byte, you only get 127 steps, or 7 bits of depth. you must define the least significant value according to what it is defined as in your instuments midi implementation. if there are none implemented, there is no way to ‘convert’ or add the capability. i admit looking at the available information on a lot of instruments does not make it easier to understand because it appears that there is only a least significant byte listed. i feel like im missing something simple. but of course tons of music has been done with only 7bit cc sweeps so i think my ear is used to this resolution. of course value jumps dont betray the low res and if youre controlling an onboard modulator like an lfo, the onboard resolution will be higher than any 7 bit cc so you wont notice in those cases. you can control a high resolution process with a low resolution control signal. hope this puts some light on the subject. one day ill have a full understanding! lol

i cannot use NRPN then, because in the manuals, there is only a (CC like) number and a 0-127 (or similar) value

and no MSB, LSB or whatsoever

for others it might be easy to do, i don’t even really understand binary code, i just don’t have that “math brain”.

I would like to provide it in the Instrument Definitions, but then SQUARP has to provide a way how to do :wink:

NPRN is not much different from CC when the numbers are given like this in the manual. You can omit the MSB and write it like this:

# 14 for controls with value ranges [bereich] >127
:0:14 OSC-1 PW
:1:14 OSC-1 SHAPE
:3:14 OSC-2 PW
:4:14 OSC-2 SHAPE

# 7 for value ranges <=127

# this should also work, MSB=0

I don’t own the hyper synth so can’t test.

1 Like

great, i will try - thank you!

so when there is no msb listed, the nrpn references a parameter with only 127 possible values? why would it not be just a cc then? i thought nrpn was used for finer resolution than 7 bit.

It is also used to expose more parameters than there are available CC numbers on a given channel.