Novation SL MkIII (MK3) MIDI Remote Script

Thank you very much my friend. I never really got into Ableton, so I cannot comment on this, but your experience makes me happy :slight_smile:

1 Like

Hi
First of all, let me mention that I’m kinda lost here. You can say that I’ve been “under a rock” (and away from music) for the last 20 years. Then I decided to take the synths out of the boxes, connect everything, and then I decided to finally try the Cubase LE disc (wanted a more intuitive sequencer) that I had laying around since I bought an effects processor back in the days, but never used.
Later tried Cubase 12, discovered a bit of the whole new world of DAWs and plugins, tried and created midi mappings using some of my old gear, and decided that I needed a keyboard that I could have in front of the monitor, and here I am.
I was leaning towards an Arturia Keylab MK2, but then I saw some videos showing how to control midi devices using the Novation SL MK3, and I thought that was the exact level of control that I wanted. But then I noticed that it’s supposed to work like that with Ableton, but not necessarily with Cubase. With a bit more search I found this topic.
Finally, my question:
On some videos, I saw that the SL MK3 could have templates loaded and assigned to each of the eight buttons between the pads and the displays. And each template could have sixteen parameters assigned to the eight encoders, cycling each group of eight paramaters with the arrows beside the encoders.
The description and values for each parameter would be displayed on the screens.
My goal is to have each of the eight buttons loading a template with mappings for a plugin, and the values showing up on the screens. For example the first button would have a template with my mappings for the tr-909 plugin, the second for tb-303, and so on. This way I could control the plugins from the keyboard, without having to constantly open and close plugin control pages on Cubase. I know that I can map midi CCs because I tried it. My doubt is mostly about the feedback on the SL MK3 screens.
So, can I customize a Novation SL MK3 to work like this with Cubase?
Will this integration script help me with it, or is it aimed at other uses? (I read the pdf, and it seems more oriented towards mixing functions)
I haven’t bought the keyboard or the DAW yet, and that’s why I didn’t try the script. I’m currently trying to find what better suits me before investing.

Thank you for taking the time to read all this. And sorry for the long introduction, but I thought that explaining where I stand could help someone to better aproach with an answer.

Hello my friend, I think I quite understand the situation, so here are my thoughts on it.

Let’s start from the native mode that the SL MK3 uses for handling (mostly hardware) devices, and this mode has nothing to do with the integration for Cubase I’ve made publicly available via this wiki thread.

In this mode, you can assign MIDI Messages to the 8 knobs of the keyboard, name them properly based on the corresponding hardware controls, and thus assign them to your hardware synths using the MIDI OUT. There are actually 2 banks for the 8 knobs as you correctly wrote.

At the same time you can assign additional parameters to the faders, buttons, pads, pitchbend, modulation and pedals.

All these assignments are what we call a Template.

Here’s a photo of assignments for the OB-6, while in the row of buttons we can see other templates as you already know.

So, to answer your first question, yes, it’s all there, and you can control hardware synths using the native Novation’s mode.

BUT, I see that you’re talking about plugins. I will not comment on Ableton Live, since I’ve never actually used it, so let’s talk about my integration for Cubase.

First of all, you can create templates for plugins, and midi learn SL’s knobs to the plugin’s controls, when of course the plugin supports midi learn (not all do).

However, Cubase can go a bit more generic, and let us control plugins in a more abstract way.
Instead of creating templates on our keyboard, we can actually create “templates” internally, at the DAW level, and then all the parameters involved, will be handled by the very same set of controls on our keyboard.

Let me explain this, with an example:

Suppose we have a plugin from Arturia, the Jun6.

Let’s open it in Cubase. We see this:

Now, we wish to create a “template” from inside Cubase, to control this plugin using our keyboard.

There is a window we can setup what we want to control, using the logic of a matrix of (in our case of the SL MK3’s) eight knobs. We can also use our faders, but for now let’s stay with the knobs.

So, we can open the “Remote Control Editor” which is the window for managing the plugin’s parameters we want to control, and design our matrix accordingly.

Here’s how the default matrix for the Jun6 is:

We can see “pages” of parameters, and each page actually can (and will) be assigned to our keyboard’s 8 knobs.
We can click on each of these parameters, and change it to another, whichever we find that suits best our workflow with this plugin.
When we’re finished, we save this “template” and we’re done with it.
Now, on our keyboard (in our case the SL MK3), I have a “section” where we can control this plugin using our 8 knobs.
BUT, contrary to Novation’s standard implementation, we can now have more than 2 pages for our knobs. In fact, we can have as many as Cubase supports, and we can navigate through these pages using the up/down arrows too.

So, here’s for example what you’ll see in this page, on our keyboard’s displays for the Jun6:

And here’s the second page:

And there is more. We can actually assign our faders too, so we can have 16 controls per “page”, and we can have feedback for these 16 parameters on our display as well. Here’s a photo:

In the first two rows we see the assignments (and their values) to our knobs, while in the third and fourth row, we see the assignments to our faders. Real time.

And then again, there is even more. We can use the very same method for our insert FX. Here’s an example for Arturia’s Delay Eternity plugin in our first slot:

As you can see, all this can go pretty deep. We have control over our instrument plugins, our fx plugins, and also our channel strip plugins which come pre-mapped by the way.

You’ve mentioned the Arturia Keylab MK2. I’ll start by saying that I’m a happy owner of this keyboard too :slight_smile: I love it. And a plus is the integration with its own VSTs, either by using Analog Lab, or any instrument of the V-collection, or even Pigments. Where it shines, is the browsing experience with these plugins.

When it comes to my implementation, it’s pretty similar to the one of the SL MK3, but it’s obvious that we can’t have the same level of display feedback, since we have just one tiny 16*2 led display. It’s enough to show the currently selected parameter, but it’s just that. However, if you ask me personally, I now know the basic parameters of my VSTs so I’m not really looking at the displays to check what controls what. By time, we all increase our muscle memory. BUT if you need the display feedback, well, the SL MK3 is a clear winner here.

I fear that I cannot possibly present everything that I should, I actually want to create some videos on these implementations, but, so far I didn’t really have the time I think they deserve, I hope I can do this in the near future.

My advice: Visit a shop and try out both these keyboards (and other as well). Try their keybed. You like a synth-action? A more piano-like one? It’s a truly important aspect. Then, let the guys there install my scripts and inspect their functionality. See for yourself whether they’re really worth your time, or you can live without them, by simply using the mouse/QWERTY. At the end of the day, we’re mostly in for the music and this is what really matters, isn’t it? :slight_smile:

3 Likes

Thank you for your quick and comprehensive answer!
I will definitely want to try both keybeads before buying. I have a Roland XV-88, and I’m not a fan of that keybed. Good for piano performance, but too heavy and loud for my taste and use. But from what I’ve been reading, the SL MK3 and the Keylab MK2 seem to have a similar keybeds. The Arturia wins on more robust construction, smaller size and included software, while the Novation seems to win on midi control (if it works as I would like).
The reason why I want the screens is that I intend to control several plugins (and maybe the physical synths) from it, and it seems to me that it would be easy to get lost with the way the Arturia screen works.
I really like that concept that you described of creating “templates” on Cubase (and yes, the plugins that I tried support “Learn MIDI CC” function). That way, I won’t be limited to the 16 parameters per template. That covers most of my concerns :slight_smile:
I guess my last question about this script is: can we map the eight keys between the pads and the encoders to load specific templates?
For example the first button to load Cubase’s “template” with parameters for the first plugin, the second button with another one with parameters for the second plugin and so on?

Thank you once again! :slightly_smiling_face:

Hello again, no, the buttons are not used. What is done is when we change track, the knobs (and faders if set to) automatically change their assignments to the plugin of the selected track.
Say for example, that on track 1 we have a Jun6 while on track 2 we have a Padshop. When we are on track 1, on the section of quick controls, we will see the assignments for Jun6, and if we move to the second track, the assignments will change to those of Padshop.
Just to be clear, the script (and the MIDI Remote API more generally) does not handle MIDI-learn for plugins, but uses the internal mechanism of assigning parameters as explained in my earlier post.

Here’s a short video demonstrating how this works (4 tracks arrangement):

1 Like

I guess the rabbit hole goes even deeper than I thought.
When I wrote the first post, I thought that the Arturia was limited to eight paramaters, and the Novation could handle 16 (encoder-wise). Now I guess that both the Arturia and the Novation can do preety much the same, since to make the best of midi control, both will control Cubase’s templates. Both have eight encoders to control as many pages as we want on a Cubase template for each track/instrument. I guess that even NI’s keyboard will work basically the same way with your scripts.
And the keyboard screens won’t be as necessary after all, if we can change tracks and open and close the instrument editor from the keyboard, since we can view everything on the monitor, without even have to keep reaching for the mouse (I guess I’ll never get used to swiping a mouse all the time while trying to play with sound).
Now that I got a grasp of how it works, I guess I’ll take a deeper look into the PDFs of the scripts that you created, and then compare the keyboards on a store.

Thank you once again! :wink:

This is the best thing to do in my opinion :slight_smile:

Hi m.c! Thank you so much for the midi remote script, it’s awesome! :exploding_head: It actually made me position my SL61 in front of me when working in Cubase, rather than in the side, since it gives so much control to functions that computer keyboard/mouse can be less easily reachable.

And good job with the customisability. I was wondering though if there would be a relatively easy way to remap faders? I tend to mix with automation and it’s enough that Cubase makes it too easy to move faders by accident, I don’t want to have that possibility in SL61 as well :grinning:

I see in mapOfGeneraSettings.js that I can select “faders are duplicating the knobs’ parameters.” for subpages. But I was wondering how complicated it would be have leftmost (or alternatively rightmost) fader to control the volume of selected track and solo/mute/arm on off/etc, same way as now, but the rest of the faders would be unassigned from the mixer so I don’t accidentally mess with those. I could probably “hard-wire” those to most common midi CC’s or something :slightly_smiling_face:

PS. Another question: I like to use the Shift/Shift2/ALT+knob2 to navigate up/down tracks. But it seems to erratically toggle track’s Solo Defeat on/off. Is there a way to avoid that behaviour? Same happens when using buttons over pads to select tracks. EDIT: okay I see that only happens if Mixer subpage “Monitor/S.Defeat” is active. Not a problem :+1:

Hello my friend and thank you for your kind words!

It is for me :slight_smile: Actually in a new version of my script here, I removed the Solo Defeat assignments, because they create such types of problems. In fact, I abused this command, and it’s totally logical that it creates these problems. In the new version, I placed Monitor/On instead, while I placed the Solo Defeat for the selected track on a pad which was used for adding a cycle marker (I have 8 of these for no apparent reason).

Nope, inControl Mode is not editable, unless of course you pass it first from a midi translator.
However, you don’t need to. In the next version to upload, I will put a flag in the mapOfGeneralSettings for deactivating them.
In the mean time, sure, you can remap these faders (double-click them and use the mapping assistant). You can choose functions of your choice, no problem at all.

Now, if you feel comfortable with basic editing of scripts, you can open the file Novation_SL_MK3_MC_Custom.js, search for this line:

page.makeValueBinding(fader,volume).setValueTakeOverModePickup()

and just before the word page, place two /, and it should look like this:

//page.makeValueBinding(fader,volume).setValueTakeOverModePickup()

Save the file and reload the script. The assignments to volume should now be gone. You can proceed by assigning the functions you want using the mapping assistant. For example, the volume of selected track is here:

3 Likes

Thank you so much for your detailed answer! Commenting out that one line worked like a charm :+1: Project is safe again from the unintended mixing I tend to practice :smile:

1 Like

This is a great example of how much diversified can users’ workflows be, I’m always amazed by this. I would never deactivate the faders, I use them all the time, but yeah I totally get that other users may find them problematic :slight_smile:

Hello, I want to thank you for the hard work and time you’ve put into this.

I have tried to install it, but every time I close Cubase 13 and restart it, it says “no midi controller connected”. I’m using the full version, and I’ve followed the instructions twice with the same result. I’ve also done what the troubleshooting suggested about deleting the file.

There are no error messages in the remote manager. Any help would be greatly appreciated, and I’m sorry to bother you with this, as I know you have better things to do. Thank you again.

Hello and thank you for your kind words.

Are you using a Windows or Mac PC?

I’m using a Windows PC.

OK. Later in the day (I’m not near my PC where I work on the script) I will post here an updated version that should cover the recognition of MIDI Ports. I would already have posted it, but I work on it on other aspects of it.

As a workaround for now, if you create a project template with the controller setup in it, and each time you open Cubase, you first load this template, it should recognise the ports.

That is awesome, thank you. I can’t check the workaround at the moment, but if it would help you, I can try it later. Otherwise, I will install the latest version and let you know how it goes. =)

1 Like

Hello again, please download and install this one:

Novation_SL MK3 MC Custom_2_2_21.midiremote (1.4 MB)

Important: After the installation, quit Cubase, go to the [Documents]\Steinberg\Cubase\MIDI Remote\User Settings and delete the Novation_SL_MK3_MC_Custom_3004242C6915D7C657343C2844C47731_globalmappings.json file, so we can be sure that no older settings remain.

Note that I’m using an alternative mapOfGeneralSettings file (altMapOfGeneralSettings.js) because I have settings for my personal use, and the option to use the full version is already selected.

Let me know how it goes :slight_smile:

1 Like

Looks like it works well. I haven’t done any setup yet, but I’ll let you know if I see any issues going forward. Thanks for helping so quickly and creating this in the first place.

1 Like

I just got the controller, and loaded your script. I hope I got the stripped down version working, at least it seems so. Question: how do I enable the pads for finger drumming when InControl?

Congrats on your purchase!

Interestingly enough, that was my very first question as well when I bought the device.
In InControl mode you just can’t, since the messages are sent to the dedicated port for DAW handling. But even if we wanted to, it would still send fixed velocities.

You have to move out of InControl (by pressing it again) and then, in whichever template you have programmed/selected, you have to press Grid so you can use the pads for finger drumming.

1 Like