Skip to content

RPN and NRPN (Registered and Non-Registered Parameter Numbers)

Why RPN and NRPN Exist

Standard Control Change messages are limited:

  • only 128 controller numbers
  • many already have fixed meanings
  • not enough for complex instruments

RPN and NRPN provide a way to control many more parameters, including:

  • pitch bend range
  • tuning
  • vibrato depth
  • manufacturer-specific parameters

They do this by turning CC messages into a parameter selection + value system.

Key Idea: “Select a Parameter, Then Set Its Value”

RPN and NRPN work in two steps:

  • Select which parameter you want to control
  • Send the value for that parameter

This is very similar to:

“Choose a knob, then turn it”

What RPN and NRPN Mean

  • RPN — Registered Parameter Number Standardized parameters defined by the MIDI specification
  • NRPN — Non-Registered Parameter Number Manufacturer-defined parameters (device-specific)

Both use the same mechanism, only the parameter meaning differs.

How Parameters Are Selected

RPN:

PurposeCCRole
RPN MSB101Parameter MSB
RPN LSB100Parameter LSB

NRPN:

PurposeCCRole
NRPN MSB99Parameter MSB
NRPN LSB98Parameter LSB

These CCs select which parameter will receive the value.

How Values Are Sent

Once a parameter is selected, its value is sent using Data Entry CCs:

CCPurpose
6Data Entry MSB
38Data Entry LSB (optional)

This gives you 7-bit or 14-bit resolution, just like high-resolution CC.

Complete RPN Message Flow (Example)

Example: Pitch Bend Range

Pitch Bend Range is a standard RPN.

Parameter number:

  • MSB = 0
  • LSB = 0

Step 1: Select the RPN

CC 101 = 0
CC 100 = 0

Step 2: Send the Value

CC 6 = 2

This sets pitch bend range to ±2 semitones.

Complete NRPN Message Flow (Example)

NRPN works exactly the same, but with different CCs.

Step 1: Select the NRPN

CC 99 = <MSB>
CC 98 = <LSB>

Step 2: Send the Value

CC 6  = <MSB>
CC 38 = <LSB>   (optional)

14-bit Values with RPN / NRPN

Just like 14-bit CC:

  • CC 6 → coarse value
  • CC 38 → fine value Combined as:
value = MSB * 128 + LSB

Why This Is Powerful

RPN and NRPN allow:

  • thousands of parameters
  • high-resolution values
  • backward compatibility
  • standardized control where possible

All using existing CC infrastructure.

Important: RPN and NRPN Are “Sticky”

Once selected:

  • the parameter remains active
  • future Data Entry messages continue to affect it

This can cause problems if not handled carefully.

RPN Reset (Very Important)

###What Is RPN Reset? RPN Reset clears the currently selected RPN parameter so that further Data Entry messages do nothing accidentally. How to Reset RPN Selection

Send:

CC 101 = 127
CC 100 = 127

This means: “No RPN selected”

Why RPN Reset Is Critical

If you don’t reset:

  • later CC 6 messages may change the wrong parameter
  • bugs can appear far from their cause
  • behavior becomes unpredictable

Best practice:

  • Always reset RPN after setting a value.

NRPN Reset

NRPN has a similar reset:

CC 99 = 127
CC 98 = 127

Summary

RPN and NRPN extend MIDI Control Change by introducing a parameter-selection mechanism followed by Data Entry messages. RPN parameters are standardized, while NRPN parameters are device-specific. Both support high-resolution values and require careful handling, including resetting the selected parameter after use. Mastering RPN and NRPN is essential for advanced MIDI control.

Made with 🩶 in the EU · © 2019–2026 Electra One