Zoom/nudge with (Arturia Keylab) rotary knob via Generic Remote ((N)RPN/ Midi Transformer?)

Hi there,

I would like to control zoom in and out (or nudge left/right) with one single rotary knob of my Arturia Keylab 88 MKII (or any other midi controller which is not able to send two different CC commands with one single encoder).
I know how to assign input events to Cubase commands in the Generic Remote dialogue and I also read these two threads:

However, I guess I’m missing something obvious but I’m just not able to make it work.
The Arturia Keylab actually can do quite much, so I’m quite certain it should work somehow:
I can set the Arturia’s knob to send “Con Ctrl” or “NRPN/RPN” and for “Con Ctrl” I can choose between absolute or relative values. For zoom and nudge I need infinite values, so first I tried Arturia’s “Con Ctrl” and relative mode. The Cubase Midi Monitor shows me it sends:
Value1: CC 19
Value2: 65 for clockwise rotation and 63 for counter-clockwise rotation.
This doesn’t help since a Cubase Generic Remote slot only ‘listens’ to CC addresses (Value1) and not Value2.

In mode “NRPN/RPN” the Arturia is always sending CC38 for Value1 with absolute Value2 values within 0 - 127. I don’t know how I could use this (and LSB/MSB?) for my use case.

So I was thinking of a Midi Transformer that takes my “Con Ctrl” Value2 63 and 65 and translates them to different CCs which are then mapped in the Generic Remote to zoom in and zoom out. I had no luck with the Cubase Global Midi Transformer: Midi Monitor shows me the Global Midi Transformer transformation to two different CCs works but it seems the Generic Remote reacts to incoming Midi before the transformer since zooming did not work.

My next step would be searching for a Midi Transformer software (e.g. Bome Midi Translator but maybe there is a free and still usable one) which hopefully can translate Value2 63 and 65 to 2 different CCs. But this seems to me quite cumbersome considering that Cubase and Arturia Keylab are two very sophisticated products. So I guess I’m missing something simple that might make this work more easily?

Any help is very appreciated :slight_smile:

Unfortunately I don’t think you’re missing anything.

You cannot configure Arturia MIDI Control Center (AMCC) to send both Data Increment and Decrement MIDI Messages (CC 96 and 97) with one knob, depending on which way you rotate it. The downside of using Data Increment / Decrement messages would anyway be that you can only send one pair per MIDI channel, so you would have to use all 16 available channels to be able to adjust 16 knobs. AMCC uses either the CC6 or CC38 controller to assign value changes to NRPN messages, apparently depending on the hardware (so only 7-bit NRPN messages, with values of 0-127 instead of 0-16 383).

The Generic Remote slots in Cubase do listen to value changes of the CC messages. It’s just that you can execute only one command per CC message and therefore if the command only adjusts to one direction (in or out, left or right, etc.), all value changes execute that command.

For example, you can set a knob to Relative #2 mode in AMCC and you can move the cursor to left and right with one knob if you set it to control Transport > jog in Generic Remote Editor, as that does recognize movement to both left and right.

So unless Steinberg introduces more commands in Cubase that either recognize value changes in both directions (e.g. Zoom In/Out, instead of separate Zoom In and Zoom Out), or
allow you to execute separate commands depending on whether the CC value decreases or increases, your best alternative is to use an external software to translate the MIDI Messages.

Since it’s not possible to assign the starting value (CC6 or CC38) of the NRPN parameter you modify with a knob in AMCC in NRPN mode, it always starts at 0. The downside of this is that since the hardware only sends MIDI messages if the value changes, turning the knob counter-clockwise doesn’t send a MIDI message that the MIDI Translator software can react to when the CC6 or CC38 value is at 0.

Therefore the best option is to use the CC mode in AMCC. CC messages that are undefined in the MIDI specification are: CC 3, CC 9, CC 14-15, CC 20-31, CC 85-90, CC 102-119

So, for example in my case I assigned CC102 and CC103 to knobs in AMCC for my BeatStep Pro, with Relative #2.



Then, since there is no point in wasting additional CC message spaces as outputs from the MIDI Translator Software, I translated the values from BeatStep Pro (127 for relative decrement = counter-clockwise and 1 for relative increment = clockwise) in Bome to NRPN messages (the value does not matter).

Bome Translators

Then I assigned the NRPN message addresses that Bome output to different commands in Remote Editor Setup.

Generic Remote Editor Setup


Hope that helped.


Thanks a lot for the really helpful answer! :slight_smile:
Good to know that it’s currently not possible with Arturia + Cubase without any additional products. So I tested out Bome Translator Pro, and it worked like a charm exactly as described in my initial post, so I ended up buying the full license to avoid having interruptions every 20 minutes. Thanks for your confirmation that this is the way to go. As next step I will try using NRPNs instead of CCs in the translator’s output.
However it would be nice to have this Value2/Velocity to CC translation feature already integrated in Cubase → Feature Request.

There is a small caveat with this solution:
I don’t know if it’s the Arturia Keylab‘s knobs or the Bome translation or even Cubase not being able to process so many commands in a small time frame. But turning a rotary knob very fast seems to mess up the event stream / translation which leads to some of the contrary output events being triggered. Simply spoken: If I turn the knob in zoom-in direction too fast it would stumble and fight between zoom-in and zoom-out events ending up having zoomed-in very little or not at all. But if I turn the knob in a medium pace it works like a charm.

(A little off-topic:)
I think it would help if I could make the Arturia knob react slower, so that e.g. not every single degree of rotation triggers a zoom-in/out event but only every 10th degree. The Arturia encoder‘s speed setting didn’t help me here having no (or very little?) effect but maybe there is another way to make an encoder less ‚aggressive‘, maybe somehow with Bome Translator or AMCC?

I use the beatstep , totally programmed for the control room and zoom/nudge functions , all thou as you say you can only use one encoder for one direction it all comes down to muscle memory and after a while i found it a breeze to you the two encoders Left/right but your spot on about the speed on the encoders it’s a shame you can not slow them down or have a “fine” adjustment feature to the encoders but it’s still a very handy little controller