Cubase 12 midi remote Arturia keylab 88 mkII


As @Martin.Jirsak said, there is a script for the Arturia Essential which seems to be very similar but with 8 pads instead of 12.

Maybe you can try to use it with the existing script, if it works, then modify the script to implement the missing functions?


I tried it doesn’t work well i wish they would juat add the feature until then ill just use the mackie mode way…


What exactly doesn’t work, please?

Btw, do you have the latest Cubase 12.0.40 update, please?

Transport control works which i dont need im looking for motor faders to work and knobs and scrolling which it doesnt… in mackie mode it does…


Oh, I didn’t know, the sliders and the knobs are motorised. I don’t know why the “big knob” is motorised (what is the advantage), but OK.

But it’s not a big deal to adapt the factory scripts to these changes.

In the keylab_essential_common.js file, add this line:


bellow the:


So the results are:




This should make the sliders and the knobs motorised.

To make the big knob motorised, change these 2 lines (in the very same file):

surfaceElements.aiKnob = surface.makePushEncoder(x + 3.4, y + 3, 5.6, 6.3)
surfaceElements.aiKnob.mEncoderValue.mMidiBinding.setInputPort(midiInput).bindToControlChange(midiCh, 60).setTypeRelativeSignedBit()

like this:

surfaceElements.aiKnob = surface.makePushEncoder(x + 3.4, y + 3, 5.6, 6.3)
surfaceElements.aiKnob.mEncoderValue.mMidiBinding.setInputPort(midiInput).setOutputPort(midiOutput).bindToControlChange(midiCh, 60).setTypeRelativeSignedBit()```

I think, that's all.
1 Like


Sorry, one more thing… Of course you have to copy the script to other folder, rename the script and change the

var deviceDriver = midiremote_api.makeDeviceDriver('Arturia', 'KeyLab Essential 88', 'Steinberg Media Technologies GmbH')

line in the arturia_keylab_88.js file accordingly.

If you would just modify the factory script, this would become overwritten by the factory one during the next Cubase start.

Or copy the Public/arturia folder to the Local parent folder and adapt the script in this Local folder.

I have a Keylab 88 mk II. The faders are not motorised


Yes sorry for the miss communication my keylab mkii 61 controls are not mortized… sorry about that… im having issue where it needs midi in 2 port which my mackie mcu pro uses also so in getting midi port conflict


Then the previous code doesn’t make sense.

I would need to know the exact specification of the device, to know, how to adapt the script.

1 Like

Here are the specs for arturia keylab mkii 61 keyboard:

  • 61 key options available, each with high quality keybed with velocity and aftertouch
  • 16 RGB-backlit performance pads
  • Control bank with 9 faders and 9 rotary knobs
  • Control modular equipment with 4 CV/Gate outputs, controlling pitch, gate, and modulation


I mean the MIDI specification.

Could you elaborate more midi functionality? I would like all faders and knobs to work of not i will find a work around and use the old way… through mackie protocol…

I have mine set up the old way. It seems very solid here.

1 Like

Fixed my port conflict and will stay with the lagacy setup Here is the way they recommend things to be - works here

Thank you yes i have it setup that way but i was having a port conflict i had 2 my mcupei extender using the same midi in2 port… i fixed it and its fine now but still would like the remote script for the future since mackie control will be phased out

Is this true? I know Generic Remote will be.

Yes hopefully they will implement all legacy and new templates

1 Like

I have upgraded to Cubase 12 so I am also interested. Any news on official Arturia Keylab 88 MKII support? MKII models are still available and sold in stores.

Not official: