Make CMC Ai Rotary knob to turn a CC 0-127 controller (Analog Lab)

Hello, i own an old Steinberg CMC Ai controller, there is great knob on it,
and i’m trying to send CC17 to Arturia (or any other plugin / software) Analog Lab to control the master volume.

but i just don’t know how to do it, for now, just succeded to do a full 127 or 0 volume by setting converting the raw midi when turning on the right the know to emulate a CC #17 at 127 and left CC to 0, so it’s off and full volume, but don’t know how to make it to increment.

cerrtainly there is a solution out there on this forum for that, but i’m on a very limited internet time, so if someone can point me to the solution that would be very welcome ! thanks !

Hi, and welcome back!

This tutorial will show you how to convert relative CC values to absolute CC values.

Let us know if you have any questions after trying that.

Steve Caldwell
Bome Customer Care

Also available for paid consulting services:

Hi, i watched the video, but didn’t really understand it.

found the solution on an another topic about the Ai Know from an another steinberg controller, with using this code from this file : VolumeControl2CC_working.bmtp

rules :
if ga<0 then ga=0

if ga>127 then ga=127

set to the incoming raw message from the controller and the ouptut to the software. CC# 60
only issue : if i move the know way to fast, it send somekind of a bug, like a CC#60 at a zero value, or something else. don’t know if it can be fixed ?

I tried to use the knob too to switch preset too by using a value of ga = -1 and +1, but unfortunatly, when turning the knob, it need to move the knob two steps, to move the preset, not one. don’t know why it does that. there is no such issue in cubase for doing the same. thanks for the help :slight_smile: !

Hi @Martyprod ,

Post the project file that you are working with and I will take a look at it for you.

Steve Caldwell
Bome Customer Care

Also available for paid consulting services:
1 Like

Hello, thank you very much ! here is the projet, I tried to make the change of the presets too, but it’s pretty choatic and not working as expected.
CC 28 + 29 for previous/next preset. sometimes, it kind of receive a CC60 to 0 at the same time. no idea why. thank you !
Analog Lab Pro Steinberg Cmc-Ai Project.bmtp (4.5 KB)


I created a new preset for an example and disabled your presets

It has 1 translator that takes the value of CC60 with any value.

I use rules to manipulate the value and then update the global variable ga with the outgoing value (again CC60).

Also it is important that you properly direct your MIDI traffic otherwise, everything comes from everything and goes to everything.

I set my aliases up as follows.


You can learn more about aliases from this tutorial.

I set the routing up at the preset level (for translators under that preset)


For more information about device selection, see this tutorial.

The rules look like this

if qq>64 then Goto "left"

Label "right"
// add to current value of ga
// don't let it go over 127
if ga>127 then ga=127
Goto "done"

Label "left"
// remove the reverse bit
// subtract from the value of ga
// don't let it go less than 0
if ga<0 then ga=0

If you have different knobs to convert to absolute values, each knob will need its own global variable. I noticed you are using ga in your other examples so you might want to pick something that you are not using in your project file. This is why I disabled everything else

Analog Lab Pro Steinberg Cmc-Ai Project-sjc.bmtp (5.3 KB)

Steve Caldwell
Bome Customer Care

Also available for paid consulting services:

wow thank you very much, i’ll study all you said, because as you noticed, i’m not that great with programming, even for such a simple things.
about the alias and presets, yes, i had some issue with that. it’s related to cubase, which bypass the CMC controller and talk directly to the device with their driver, so didn’t really know what to do from there. i’ll look carefully to the documents you sent me, thank you !

by the way, i erased everything i had in my project except for this one, but i’m using bome with 20 presets with 20 different software. just erased everything except for this one. hope it was ok.

Yes, you should have all of your stuff routed through Bome MIDI Translator and use Bome Virtual ports instead with your applications if any translation will be required.

You can do what you want with the project because it is yours.

Let me know if you need anything else.

Steve Caldwell
Bome Customer Care

Also available for paid consulting services: