Midi Controller / Nrpn Problems

I have a problem … kind of, and in two parts.

I need to set two NRPN values (two bytes each) and I will probably need to do this at the beginning of most pattern blocks.
( this is for a Korg ESX1 - to mute/unmute parts you need to send two x two byte values )

e.g. mute all parts (this works):

C0 630B
C0 6277
C0 0600
C0 261F

C0 630B
C0 6278
C0 0603
C0 267F

unmute all parts (this works):

C0 630B
C0 6277
C0 0600
C0 2600

C0 630B
C0 6278
C0 0600
C0 2600

Problem 1: I can’t stack midi controller messages?

If I add additional pattern commands and try this - it doesn’t work (2 lines):

C0 630B 6277 0600 261F
C0 630B 6278 0603 267F

The fact that the 0600 goes green suggests that they aren’t all being parsed as midi messages

Problem 2: I can’t record the NRPN data send by the device.

I can capture these message in MidOX and see them fine (7 messages, you don’t have to set NRPN MSB twice).
But in renoise even with the bmp set to 999 and 256 lines per beat I only ever see 3/4 max of the messages sent being recorded.

Problem 2 is less of an issue, but I could use some ideas for problem 1 - how can I send the NPRN data using less steps of the sequence?


Multiple tracks? MIDI isn’t linked to any track is it? Just an Instrument. So you could have 16 tracks each sending a MIDI message if you wanted. Bit messy but can’t see why it wouldn’t work.

Or more simply have you tried using a MIDI Meta Device? Then do it in automation curves (maybe leave one in pattern editor as visual aide.)


Haven’t really used MIDI Out personally so not talking from personal experience…

Arg no - I thought that would work but it doesn’t

The midi automation device is great - I’ve been using it a lot to modify “standard controllers”.

But it seems it only sends the midi message if it thinks the controller value has changed. It won’t send the same controller value twice just because you recorded another “point” there if it has already sent that value. Hence it’s not sending enough to complete the NRPN message.

Yes using up eight tracks works - but you can’t use any other midi channel at that point on those 8 tracks, and having them dedicated clogs up the pattern sequencer so it’s a bit of a pain …

Does the ESX1 only mute/unmute on 00/7F? More common is mute 00-3F, unmute 40-7F (or something, and one I don’t like: mute 00, unmute 01-7F.)

If the former you may be able to alternate between using a 00/01 and 7F/7E message or similar in the automation editor.

And yeah I said the track method would be messy but if it’s the only way to do it… Plus we can still but hope for track grouping on day ;)


you currently can not stack midi controller messages in the pattern editor.

Guess the only clean way to handel this, would be to integrate NRPN somehow to the MIDI Control Device?

1 Like

YES! That would be EXCELLENT!

Could the MIDI Control device ultimately incorporate a range of handy and widely used MIDI tools, for stuff like SYSEX transfer, the instrument definitions (a la Cakewalk, described elsewhere on the forum - they’re just text files with patch names and numbers) and - most helpfully of all - a button which updates all states/NRPN/snapshots/whatever whenever it’s clicked, automated or called in a pattern command?

There are lots of MIDI functions that currently we have to go into MIDI-OX or similar to perform, and which those of us with MIDI hardware are totally reliant upon, which lack an obvious ‘place’ in Renoise. Do they go in popup/breakout boxes, in the Instrument settings, in a totally new view, or what? Well I agree that putting this sort of thing into MIDI Control Device is a great start and makes perfect sense :)

Just to add closure on a couple of things …

The esx-1 does mute/un-mute of channels by setting a binary mask on three different byte values.
e.g. 0= all on 1= mute part 1 2= mute part 2 3= mute part 1+2 etc … messy

And an NPRN option in the midi control device would be great - but with option of either seperate msb and lsb data values or a 14 bit value as I’ve seen some nprn require and remember to send the values regardless of anything having been sent before!

+1 and Completely agree.


I finally worked out a way to do this (send nrpn data).

Using MidiOX mapping function to map note on messages to midi cc
(note on messages are always sent!! unlike midi cc which are not resent for the same value)

it’s pretty complex and hard to explain without a picture -

but for example in midiox mapping create 4 entries to map a single note to predefined nrpn parameter:

  1. map to controller with min/max both 99 (nrpn msb) and the value with both min/max set to the value required
  2. map to controller with min/max both 98 (nrpn lsb) and the value with both min/max set to the value required
  3. map to controller with min/max value 6 - data from value 1 (check box) = note # to nrpn data msb
  4. map to controller with min/max value38 - data from value 2 (default) = note velocity to nrpn data msb

I also created a map for note off to remove unwanted note off values - you may also want to re-map midi channel numbers if you’re sending on a midi channel number you also need to send midi note data …

SysEx, please give Renoise the ability to send/receive SysEx!

I just bought a DSI Tetra. NRPN in the MIDI Control Device would be nice indeed.

A little bump…been messing around with GM on a Casio PX575R… NRPN in the MIDI device would be killer.

Hell Freaking Yes! Honestly, this would be a killer feature. Is this feature request in a backlog of some kind or (and I can dream) assigned to a particular Renoise version?

i second this, especially the ability to SEND sysex commands. is there any hope for this feature to be implemented? i guess it would not be a tremendously complex thing as the CC send already works like a charm and sysexes are just longer commands with the same simple protocol.

btw is it possible to give names for the CC’s in each instrument? it would be much handier to adjust them if the panel showed “parameter x” instead of CC number.

Instrument Midi Control DSP device?