Convert nrpn to cc and 14 bit CC

Hi all,
I’m new to bome… I have a Korg ES-1 which sends NRPN messages from its rotary knobs. I’d like to be able to translate these so I get a separate CC message number + value for each knob, so they can then be assigned in DAWs and VSTs that have a CC “learn” function.

Can anyone walk me through how this might be done in bome?

Thanks in advance, :slight_smile:

Hi,

The following example shows two ways of doing this

The first translator has fields for the target MSB and LSB of the NRPN and triggers on NRPN message converting output to CC10.

The second translator uses a raw MIDI method. Here in the rules I determine the target NRPN number and convert it to MSB and LSB values. We then compare these values to the incoming MIDI message to determine if it is our target NRPN number and if not, we send nothing.

Here are the rules:

// target nrpn number

rr=140


// convert from nrpn number to msb lsb
// msb
uu=rr>>7
if oo!=uu then exit rules, skip Outgoing Action
// lsb
vv=rr&127
if pp!=vv then exit rules, skip Outgoing Action

And here is the project file.
NRPN-to-CC.bmtp (1.5 KB)

Steve Caldwell
Bome Customer Care


Also available for paid consulting services: bome@sniz.biz

Thanks Steve, that’s fantastic… certainly looks like it should work.

My only problem is, being a total newbie, I can’t seem to get any of the Bome virtual MIDI outputs to work, I turn them on in the bome program, then select them as input in the DAW (ableton in this case) but still nothing comes through.

Don;t know what I’m doing wrong!

In the MIDI Settings of Ableton Live, uncheck the initial port names of your control surface and instead check BMT 1 both in and out,

image
image

Steve Caldwell
Bome Customer Care


Also available for paid consulting services: bome@sniz.biz

Hallo and sorry for reviving this thread after a long time. But I would like to achieve the same as the OP. And I have the same problem. I can’t get any Midi CC out of the virtual output in BMTP. The Event Monitor and Log Window also showing no output at all with the provided program.
Could you please help?
Thank you and best wishes!

Hi,

Try this and please make sure you set up your aliases to point to the right MIDI ports. In this case I’m sending CC to BMT1 (Bome MIDI Translator Virtual Port 1) from my Firefox EC1 controller.

image

If this doesn’t work, please turn your Log window on, and check MIDI IN and MIDI OUT as shown below and show me what is going on.


NRPN-to-CC-2022-05-24.bmtp (991 Bytes)

Steve Caldwell
Bome Customer Care


Also available for paid consulting services: bome@sniz.biz

Thank you very much for your answer and the new project, Steve!
I have downloaded it, opened it and set the ins and outs accordingly.
I will explain shortly what I’m trying to achieve.
I have a Pioneer DDJ-1000 controller with faders that only send 14bytes NRPN messages.
The faders send 3 messages:

  1. Control Change (14-bit) on ch. 1 with CC#: 19 and value 0-16383
  2. Control Change on ch. 1 with CC#: 19 and value 0-127
  3. Control change in ch. 1 with CC#: 51 and value 0-127

And I would like to convert these messages to one CC# with values 0-127.

I have turned on the MIDI IN and MIDI OUT Log Window.
MIDI messages are coming in from my DDJ-1000, but there is no message going out.

Best wishes, Michelle.

Okay, I think I have solved this now by taking only the incoming data from the MSB part (CC#19) of the 14-bit NRPN and transforming it to a normal CC#. It’s working now. :slight_smile:

Well I’m glad you figured it out. Technically this is not an NRPN as NRPN’s always use CC 98 (MSB) and 99 (LSB) for defining the NRPN number and CC 6 (MSB) and 38 (LSB) for defining the NRPN data values.

What you have is a simple 14 bit CC which in your case uses CC 19 for MSB and CC 51 for LSB value. So you can use CC 19 to extract the MSB value only and ignore 51 at the cost of loss of resolution (128 instead of 16384).

If you want to retain the resolution, you could convert to a relative CC value and if your DAW supports it (Ableton Live does), create a translator that converts to relative value of your DAW and not loose any resolution. Of course, the application would need to support relative encoder input.

Steve Caldwell
Bome Customer Care


Also available for paid consulting services: bome@sniz.biz

Thank you very much for the valuable information, Steve. Especially about retaining the resolution. Maybe this will help me in another case in the future. Currently this will not work for me because (and this is the second part of my setup) I am controlling my UAD Apollo Console with these faders through an application called UA MIDI control. And this application does not support 14-bit CC controllers. So I will stick with normal 7-bit resolution which is totally sufficient in my case.
Best wishes, Michelle.

No worries, I’m glad you got it working!

Steve Caldwell
Bome Customer Care


Also available for paid consulting services: bome@sniz.biz