17. Controlling external hardware via NRPN using the MP MIDI app
NRPN (Non-Registered Parameter Number)
NRPN is a protocol built on top of CC (not a separate message type). It is useful for hardware synths to expose thousands of parameters and NRPN uses multiple CC to increase the resolution.
There are 2 modes for NRPN in the MP MIDI application.
-
Global - both encoders and buttons operate with NRPN instead of CC
-
Specific - choose which encoders and buttons to use NRPN instead of CC
The global NRPN mode is stored in the MP MIDI properties file , which is an application-wide setting. It persists across sessions but is not saved per preset.
The per-encoder NRPN flag (is_nrpn on each encoder) IS stored in presets.
To activate the Global option use the right click menu:
When the global NRPN mode is enabled the Encoders can be modified from the “Encoder CC & Ch” window and from the Encoder Options view (the Encoder Options view affects the physical encoder signal).
Setting specific buttons to use NRPN
Setting NRPN per encoder while in CC mode (default mode).
Open the Encoder CC & Ch window and choose which encoders to use NRPN instead of CC.
Internal CC usage in NRPN mode.
Note: NRPN uses CCs 6, 38, 98, 99 internally.
Here is an example with an encoder with NRPN parameter 1 on channel 1, sending 14-bit values as the slider is dragged.
Multiple 4-message NRPN sequences are sent as the value changes.
That's expected signal behavior during a continuous encoder movement:
B0 63 00 → CC 99, ch 1, NRPN MSB = 0
B0 62 01 → CC 98, ch 1, NRPN LSB = 1 → NRPN parameter = (0 << 7) | 1 = 1
B0 06 3C → CC 6, ch 1, Data MSB = 60
B0 26 5A → CC 38, ch 1, Data LSB = 90 → 14-bit value = (60 << 7) | 90 = 7770




