MIDI Protocol & Serial Bus Documented by bipluk Audio Lab

NRPN (Non-Registered) vs RPN Parameter Numbers

A 14-bit MIDI parameter control protocol enabling 16,384 high-resolution synth parameters beyond the 128 basic CC limit.

# Mathematical Formula & Architecture

Logic Specification
NRPN Sequence: CC 99 (MSB) -> CC 98 (LSB) -> CC 6 (Data Entry MSB) -> CC 38 (Data Entry LSB).
Implementation Reference:
def send_nrpn_parameter(output, channel: int, param_id: int, value: int):
    """Sends 14-bit NRPN parameter control message."""
    param_msb = (param_id >> 7) & 0x7F
    param_lsb = param_id & 0x7F
    val_msb = (value >> 7) & 0x7F
    val_lsb = value & 0x7F
    
    output.send([0xB0 | channel, 99, param_msb]) # NRPN MSB
    output.send([0xB0 | channel, 98, param_lsb]) # NRPN LSB
    output.send([0xB0 | channel, 6, val_msb])    # Data Entry MSB
    output.send([0xB0 | channel, 38, val_lsb])   # Data Entry LSB

# Deep Technical Analysis & Historical Context

Standard MIDI Continuous Controllers (CC 0 to 127) are strictly limited to 7-bit resolution (values from 0 to 127). For wide-sweep analog parameters like filter cutoff frequency, 128 steps produce audible, unmusical 'zipper noise'. To solve this, the MMA created Non-Registered Parameter Numbers (NRPN). By compounding four controller messages in sequence, NRPN provides 14-bit parameter addressing (16,384 distinct parameter numbers) and 14-bit parameter values (16,384 steps of resolution). Synthesizers like the Sequential Prophet-08 and Dave Smith Instruments range rely heavily on NRPN for high-resolution knob control.

⚠

Common Studio Pitfall & Hardware Hazard

Leaving an NRPN sequence open without sending null parameter reset (CC 101=127, CC 100=127) can cause subsequent Data Entry sliders to alter the wrong synth parameter accidentally.

# Frequently Asked Engineering Questions

What is the difference between RPN and NRPN?

RPN (Registered Parameter Numbers, CC 101/100) are reserved by the MMA for universal parameters like Pitch Bend Range and Master Tuning. NRPN (CC 99/98) are reserved for synth manufacturers to assign to any proprietary parameter (filter cutoff, resonance, oscillator sync).

Related Engineering Concepts

31250 bps

Back Up Your Hardware Patches Directly in Your Browser

bipluk communicates directly with your 1980s and 90s synthesizers via Web MIDI. Zero driver headaches, automatic checksum calculation, and encrypted cloud preservation.

← Back to Complete Glossary Index