Widget "Sync" Not Working with Arturia KeyLab Pad Buttons

I can’t get Sync to work with button widgets MIDI mapped to the pad buttons on my KeyLab 61 mkII Arturia.
I have gotten Sync to work with my Korg nanoKontrol2 but the equivalent settings are not working on the Arturia.
Button widgets have Momentary Touch off and Sync turned on.
I have configured the pads on the Aruturia to use the “Toggle” option. They transmit on Channel 2 using CC’s 16-31. The Mode has been set to “Switched Control”. Off value is zero, and on value is 127.

Clicking on the widget buttons directly in Gig Performer does not update the pad selection and lights in the Arturia.

I was able to get this to work with my Korg nanoKontrol2 so I don’t know what I am missing. Thanks…

Are you sure Keylab is reacting on incoming messages?

Unfortunately the KeyLab MkII is only responding on some Sysex messages in Analog lab mode or Mackie control in DAW mode.

I found no (documented) way to access knobs, pads, switches besides a script here to access the lcd display. Therefore I use the knobs in relative mode.

That’s one of the most wanted things on my list for Arturia: sync :face_with_raised_eyebrow:

Maybe with scripting that can be solved.
Do you know the sysex messages needed to change a fader or knob on your keylab?

This was my first intention :wink:

However I only found parts of an not officially published documentation. It’s strange that Arturia did not release this so far.

I have the Arturia in User mode for integration with Gig Performer. It sounds like Sync for a widget cannot be used with the Arturia and the only possible workaround is using a script to send sysex messages?
I just got this controller. Perhaps I need to return it and replace it with a different model.

I take it Gig Performer just sends the midi value using the same CC, channel, and device. 127 for on, zero for off. The Gig Performer global midi monitor just monitors input, not output.

I opened a support case with Arturia. I think they could fix this with a firmware update?


Possibly this link can help. Should be able to obtain the sysex messages.

I don’t have one, but it seems so, at least if it is like the mini lab as I found this:
In order to change the Pad color send this SysEx message to “Arturia MiniLab mkII” MIDI output port
F0 00 20 6B 7F 42 02 00 10 7n cc F7

n is the pad number, 0 to F, corresponding to Pad1 to Pad16
cc is the color:
00 - black
01 - red
04 - green
05 - yellow
10 - blue
11 - magenta
14 - cyan
7F - white

I use a control surface for which I also have to do it by scripting.

For the CC values and channel I have assigned: Ch2, CC 17-31
Pad 1: on B1 10 7F, off B1 10 00
Pad 2: on B1 11 7F, off B1 11 00

Pad 15: on B1 1E 7F, off B1 1E 00
Pad 16: on B1 1F 7F, off B1 1F 00

sysex header is F0 00 20 6B 7F 42 02 00
I think for Pad 1, Channel 2, CC 17
Guessing this would do it:
on: F0 00 20 6B 7F 42 02 00 01 B1 10 7F
off: F0 00 20 6B 7F 42 02 00 01 B1 10 00

How looks your script?

I think you missed the # at the start of the sysex message

GPScript Runtime Exception: Invalid sysex: #F0 00 20 6B 7F 42 02 00 B1 10 7F F7
Does the # have to be followed by a space?
Fails that way too…
GPScript Runtime Exception: Invalid sysex: # F0 00 20 6B 7F 42 02 00 B1 10 00 F7

Does “Invalid sysex” mean the syntax is not correct, or, the Arturia rejected it?

Please show your complete script code

I got it to work! I had to use 10 7n after the header declaration. The Arturia MIDI control center does not list these hex values in its MIDI monitor. I’ll follow up later when I have more time to test and adjust the colors, etc.

In the Arturia MIDI control center, pressing pad 1 returns this for “on”:
B1 10 7F

Script sysex generation:
F0 00 20 6B 7F 42 02 00 B1 10 7F F7
F0 00 20 6B 7F 42 02 00 10 70 10 7F F7

Pre-pend with a # sign.

Oh… But the example above is for changing the color of a button. Not sure about it’s state - toggle on/off?

It seems I have the example working for changing colors but now I need to know how to send sysex messages which properly change state of a button to toggle on/off.

Usually (at least it is how my control surface works) the widget state is not stored in the pad itself only the LED color make you think it is so. So the idea is to set the LED color such that black=OFF and any other color=ON. It is how I understand the Arturia SysEx definition.

Different sysex for the KeyLab mkII to control Pad RGB colors:

It seems like the ability to sync widgets to hardware is trouble across multiple controllers.
I’m testing out the Novation SL MkIII. I can use Templates to assign the controls but widget sync does not work for changing the LED lights on the buttons. I’m reading the Programmer’s Manual and it looks like controlling the LED lights on the buttons can only be done from InControl mode. If I put the keyboard in InControl mode the keyboard goes dark and my Template is no longer applied. This is even worse.

It sounds like there is not a way to send sysex commands to the SL MkIII using Gig Performer for updating the button lights outside of InControl mode. With InControl mode, I lose my active Template assignments.

I would think that when you switch modes on the keyboard you would also be changing all the assignments to everything. On my Keylab61 the User assignments are totally different from the Analog Lab or DAW assignments.

Yes - I think you have a point there. I think the real problem is that the sysex messages for updating the button lights can only be sent in the InControl mode.

1 Like