Using an Arturia Beatstep (or something like it) to control the Matrix-1000

MIDI controllers

Hi, I just bought and upgrade a matrix 1000 to 1.20 , I saw your video on youtube where you control yours with a Beatstep Arturia.. I’d like to control mine with my key lab but I don’t know how to do that ! can you help me ?

I tried to build a template for the key lab with Arturia software (midi control center) but all button and fader on the keylab are midi cc , and if I assigne midi cc 21 for the cutoff it doesn’t work.. I don’t know how to make rnpn with Arturia controller..

If you did with the Beatstep I’m pretty sure it can work with key lab..


Hi Clement, I hope you don’t mind answering your mail in public. Using simple MIDI CCs won’t do the trick; you’ll have to use NRPN. (To be honest, I don’t know whether the Keylab can be programmed to send NRPN but like you, I am pretty confident.)

What is this NRPN thing after all?

You do know about MIDI CCs. This is one type of MIDI command where you send a controller number – 0 to 127 – followed by the value for that parameter. Quite a lot of synths assign a CC number to each and every parameter, for example the Roland JX8P synths, or my wonderful Creamware Pro-12 VA synth. The big advantage being that those synths do not only receive MIDI CC values, they also send them – when you change a parameter or switch to a different patch. A fader box attached to the synth can be made to show the settings for each individual parameters, like my Pro-12 panel for the iPad. Spoiler: The Matrix-1000 won’t do this.

The problem with MIDI CC: sometimes, 128 controllers won’t be enough, especially as quite a lot of them have pre-defined meanings. It is pretty crowded in CC-Land.

To overcome this, NPRN was defined – same idea as CC, different way to do it. The main difference being that there are not 128 possible controller numbers but 16,384 of them – and, by the way, they can send a much higher range of values; instead of 0-127, values from 0-16,383 are possible. But, another spoiler, not with the Matrix, and not with Arturia controllers, either.

You see, NRPN is not really a different MIDI command. It is a way to use the MIDI CC command to transmit a larger range of values. A full NRPN sequence is not one MIDI CC command, but four: using four designated CC controller numbers to send a more complex message.

  • CC 99 is the higher part of the NRPN controller number (the MSB).
  • CC 98 is the lower part of the NRPN controller number (the LSB).
  • CC 6 indicates the MSB part of the value: the coarse setting of the parameter.
  • CC 38 indicates the LSB part of the value: the fine setting of the parameter.

As MIDI can only transmit values from 0-127, the wider ranges for parameter numbers and values are transmitted in two parts.

How do I use this with the Matrix and Arturia?

The Matrix with V1.20 interprets NRPN as follows:

  • The NRPN controller number is the number of the parameter you wish to change. As Matrix parameter numbers are in the range of 0-98, this means that the first part of the message – CC 99, the higher part of the controller number – is always 0.
  • The NRPN value is transmitted as a coarse value – via the MSB of the value message.

So to transmit the value for the DCO MIX parameter (#20), you’ll have to set the controls in Arturia’s MIDI Control Centre to:

(fixed a mixup here 07-Mar-18, thanks Jörg!)

  • BANK MSB -> 0
  • BANK LSB -> 20 (the number of the parameter)
  • DATA ENTRY -> COARSE (transmit the value in the MSB)

Arturia MIDI Control Center screenshot

If you managed to get a grip on NPRN, you may have noticed that Arturia is actually cheating: The NPRN transmission from the Beatstep does not make use of the full range possible. But at least the Matrix won’t make use of the higher resolution anyway.

More on the Matrix-1000 with V1.20 and NRPN here.