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)
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.