©1997 - 2001
All rights reserved


C2NRP screenshot

Click on the image to download C2NRP (v1.02).



Author: SKoT McDonald / Vellocet
Current version: 1.02 (2 Aug 1999)
To receive notification of any updates or new software, join the vellocet software mailing list.

C2NRP is a MIDI filter utility designed to translate standard MIDI controller messages into the more arcane Non-Registered Parameter messages (NRP). It acts as a MIDI through for all MIDI messages other than those controllers that the user has specified for translation. I wrote this program primarily to get easy access to all the NRP's on my AWE32 from my MIDI sequencer. Many sequencers have wonderful graphical tools for editing all the standard controller messages, but often force the user to resort to editing MIDI message lists for anything more obscure, such as NRPs.

Use C2NRP in conjunction with a virtual MIDI port program (such as MIDIYoke), sending the output from your sequencer to a virtual MIDI port. C2NRP then receives MIDI messages from this port, and outputs to your target device's MIDI port.

Settings may be saved and loaded to/from "*.c2n" files. A special c2n file, def.c2n, will be created in the same directory as C2NRP which is the default settings file, loaded when the program starts, and to which current settings are automatically saved when the program is shut down.

As an example, the screen shot shows a typcial setting I use - the first settings line maps expression (controller 11) to the AWE32's filter position NRP (which has a NRP identifer with its MSB = 127, and LSB = 21, and the control message data byte is resent as the least significant byte for the NRP. Below, on the second line of settings, I have mapped modulation (controller 1) to the AWE32's filter resonance, (NRP MSB = 127, LSB = 22). The last two mappings are unused, since the controller number has been set to -1. My sequencer sends all MIDI messages destined for my AWE32 to a virtual MIDI port called MIDI Yoke Junction 1, and this is the input port for C2NRP. The processed MIDI stream is then sent to the actual AWE32 port, SB AWE32 MIDI Synth (620).


MIDI in - Selects the input port to receive MIDI data.

MIDI out - Selects the output port to send MIDI data.

MIDI - Imitation MIDI message light, to let you know if MIDI messages are being received.

Controller - Enter a controller that you wish to map to a Non-Registered Parameter, or -1 to disable the translation. A maximum of four mappings can be made.

Non Registered Parameter -

  • MSB - Most Sigificant Byte of the NRP
  • LSB - Least Sigificant Byte of the NRP
  • Send as - The data byte of the input controller message must be mapped to either an MSB data entry or LSB data entry MIDI message.

Apply - apply any changes made to edit boxes.

About - Brings up the 'About C2NRP' dialog box

Load - Load a previous C2N settings file.

Save - Save settings to a C2N file.

Need more MIDI ports?


Because this program requires a MIDI out port to send its messages, you may want Hubi's MIDI Loopback Device or MIDIYoke, which are virtual MIDI port device drivers that allows you to connect MIDI programs within your machine.

Author: SKoT