[Feature request] Using Pigments with Keylab keyboards

Hi all,
I have Keylab MKII 88 and Keylab MKII 61 keyboards and I want to use them to control Pigments. Problem is that Pigments expects absolute values from MIDI remote controllers.
And therefore upon init (or if using first the mouse to change a parameter value, for example) the keyboard knob and Pigments parameter value don’t match.

So there is a “jump” of the parameter value the first time you turn it on the keyboard for a given parameter. Not nice nor practical…

Arturia solved that when using the Analog Lab synth by sending SysEx messages to the Keylab to set the knob absolute values first, so that knob values and parameter values are always in sync.

This happens upon launch and every time a parameter is changed by hand (mouse, etc.).

The trick is that the Analog Lab synth has EXACTLY 9 parameters, so it is easy to know how to assign them to Keylab’s 9 knobs…

The problem with Pigments is that it has hundreds of parameters. There are at least 4 ways to handle that:

1 - always use the same fixed list of parameters (e.g. Knob 1 = Filter 1 cutoff freq, Knob 2 = Filter 1 resonance, etc. just like the defaut MIDI assignments). And send appropriate SysEx messages to set knob current values to matching parameter values (like Analog Lab synth does). This of course is a bit limitative (only these parameters can be controlled).

2 - use “pickup” mechanism so that parameter values only changes when knob value reaches current parameter value

3 - use Keylab “relative” modes to use the knob movement direction to change parameter values. The user can then use one of the 10 so-called “User modes” of the Keylab to control Pigments parameters. The Analog Lab mode could not then be used to control Pigments.

4 - look at the parameters assigned to used controllers in the MIDI assignment default list and send appropriate SysEx messages to set knob current values to matching parameter values . THIS THE (much) PREFERRED WAY from a user experience standpoint. All the user would have to do to control other parameters would be to assign these new parameters to the used MIDI CC’s in the default config. And Keylab “Analog Lab” mode could be used for Pigments exactly as it is used for Analog Lab synth. Only with more parameters.

Solution #3 is probably the easiest to implement from a developer standpoint, but #4 is my favorite from a user standpoint. Maybe an option in the MIDI settings would allow the user to pick his/her favorite implementation…

Hi @drmad ,

Both encoders and parameters need to be set to work either in absolute or relative mode.

For your keyboard this is done in what i think is called templates.

In for example Pigments you do it in the midi configs in the right panel. Right click over a parameter in a midi config, and then select the mode.

Thank you for your inputs. I forgot about the right-click option !
It still does not work in Keylab’s “Analog Lab” mode, but I can set the Keylab in a User mode where I have the choice of Absolute/Relative1/Relative2/Relative3 ways of sending knob positions. “Relative 1” does the trick ! And I can thus use the option#3 which I explained in my original post.
I still believe that Option#4 is better, but you helped me (a lot) to find a workaround.
Thanks !!!

Damned it! I spoke too fast… That works for knobs but not for the faders, which by default are used to control ADSR Envelopes 1 and 2 of Pigments. There is no “relative mode” available for the faders in the Keylab…
:frowning:

You can use the Keylab faders “pickup” mode : when you move your Keylab’s fader, Pigments parameter value starts changing only when the fader matches it.

Midi Control Center / Device Settings Tab / Global Parameters / USER fader mode = “pickup”

Yes you’re right. Too bad that they didn’t implement the relative mode for the faders, though.

Only Endless encoders/ controls can work in relative mode. A fader is’nt endless.

Argh yes of course… duh…

Actually this is not totally correct: this only applies when you already sent values with your faders to the synth (here Pigments). But the first time you send a value from the fader, there will be a “jump” of the synth parameter, and we are back to the problem I mentioned in my first post (for faders)… For this to work you would need a pickup mode on the Pigments side, not on the controller (Keylab) side.