Advice for working with a Korg nanoKontrol2

I tend to play mostly several different virtual pianos with a couple synths thrown in. I want to improve my workflow in how I switch between different pianos or synths. I picked up a Korg nanoKontrol2 hoping that I could switch between different pianos by using the solo button and use the fader to control individual volumes for each piano. For example, I could just turn on GP and enable/disable the different pianos as they are assigned to each of the channels on the nano.

I hope this make sense. I’m not sure of what’s the best way to go about this. Should I load up all the pianos in one rackspace and control them using the audio mixer (if I can map it to the nano)? Or should I use different rackspaces for each piano? I don’t know what the best way to accomplish this is and I’m open to other ideas as well. I’d just say my main goal would be to enable/disable and control the volumes for different pianos I want using the nanoKontrol2. I need some guidance please.


If you’re planning to use all these synths&settings for any song without switching presets or anything you could put all the VSTs in the backpanel, connect the outputs to a 8 or 16 channel mixer. Then (if you name the channels individually) at the front panel you can assign widgets (eg sliders) to the individual channels and midi-learn/link those to the nanoKontrol. Easily done (or check:

If you’re planning to use several other/different settings/presets you made, then different rackspaces would be the go-to-method and you still have all the mixer settings linked as stated above.
Muting/unmute is easily done with switch widgets. Or have multiple widgets tied together:

I guess the main issue would be: if you have all the VST’s playing at the same time and have some with the volume down it could drain CPU (of course, I’ve no idea how many synth or what type of VST-piano’s you’re using).
With the switches on the NK2 you could mute-unmute the synths too. I feel it could get confusing when you have both widget switches controlling volume and knobs controlling mute/unmute, especially when you’re playing and have to remember (or keep checking the screen) which synth is muted/volume down, etc.

For more references: check the manual, or these tutorials:

@Dick is correct in the possible CPU usage with having all the VSTs in one rackspace. I’m not real familiar with the MIDI capabilities of the nanoKontrol, but I’m thinking with the “KORG Kontrol Editor” software you can have many possibilities. One I’m imagining is building your rackspaces with single VSTs or combinations of VSTs you might be layering. If it’s possible to assign PC numbers to perhaps the Solo buttons, that may be a way to choose which rackspace you want. Of course this would limit you to the number of rackspaces you could have. But you could use the fader for one volume control and the knob for the volume of the layered voice.

You can actually get very cute here with GP Script and automatically bypass synths when the volume is at zero. Also, it turns out that many plugins are very good at turning themselves off when they’re not actually producing any sound.

1 Like

Sounds great, but a bit over my head… Unfortunately I’m not that technically trained. The scripts I do use, are from @pianopaul and @schamass :grin:

But that certainly would add great flexibility to a gig file! I’m quite curious how that would work then.

I’m afraid the GP scripts are way over my head at this point. Maybe the best thing for me would be to just put each piano into its own rackspace. I’d just need to figure out if I can switch racks with the nanoKontrol2 using maybe the Solo button. I appreciate everyone’s comments.

Can your nanokontrol2 be configurés to send Program Change message when pressing the solo buttons? If not, I am afraid you will have to add a small script in each Rackspace. We can help for this, but we need to know which MIDI message is sent by your nanokontrol2 when you press à the solo buttons.

If you decide to put all of your pianos (up to 8, because of your controller) into one rackspace, it should be no problem as long as the unused plugins will be bypassed - they wont use any CPU power then!
So connect all the plugins to a mixer block (hint: naming the channels properly will make things much easier when it comes to assigning the widgets), place a fader widget for each used channel onto your rackspace panel and connect them with the regarding channel gain parameter of the mixer, then also put the same number of buttons on your panel and assign them to the Bypass" parameter of the plugins… this way you can activate/deactivate those plugins you need and you can control the volume of each of them… generally there is no need for using a script.
But if a plugin is automtically bypassed by a script as soon as a volume widget goes to 0 is of course much more sophisticated, and it will prevent eventual volume jumps, because if a plugin will be bypassed when a note is still played, the volume will be at near zero, so no one will hear anything.
On the other hand, would it be not so easy anymore to level the plugins to each other, because you always had to pull the unused faders down…

Yes @schamass is right, here is an example where you could replace the plugins by your piano plugins:

volumes_and_plugin_bypass.gig (48.9 KB)

Then MIDI learn each of the fader widgets to the faders/knobs of your nanokontrol2:

Each of the faders is grouped here with a LED button widget which bypasses the associated plugin when the volume is 0. You can also MIDI learn this LED button widget with your nanokontrol2 solo buttons. The only drawback is that if you activate a piano plugin using the LED button or associted solo button, the volume is set to the max. This could probably be improved…

In order to make the LED button react as soon as the volume start to be higher than 0, its Max parameter scaling was set to 1.

1 Like

Thanks for the details guys. I’m having trouble getting started. I can’t seem to get GP to learn the button or fader from the nanoKontrol2.

I read this thread here ( which talked about the nano using a reserved or conflicting CC0 and CC32 for the number 1 slider bank. I used the Korg Kontrol Editor to up mine by 1 as well. Here’s a screenshot of mine now after rewriting the settings.

When I press the Solo button now on the slider 1 position the GP midi monitor shows this.

Next in GP I edit the front panel and add a Green LED button. Then under the Mapping section I select the MIDI In (nanoKontrol2 1 Slider/Knob) and press the Learn Parameter button. It turns red then I press the Solo button on the nanoKontrol2 but it’s not mapping.

I might be missing something obvious. Can you guys tell from the screenshots what I’m doing wrong?


The mapping section is to link the widget with the plugin parameter you want to control e.g. Plugin Bypass.
To control this widget from an external controller, go to the ‘Midi’ tab in the widget settings and at the top there will be a Learn button.

If you haven’t looked at it yet, there are great explanations and screenshots in the manual. Check out from point 8 onwards.

1 Like

Thanks for the help everyone! I managed to get my first piano mapped out they way you described. So I’m on my way adding the others.

I just have one other question related to this. Is there a way to force the nanoKontrol2 solo button light to stay on when pressing the button? Right now the solo button enables/disables the Bypass Plugin but the actual solo button on the nano doesn’t stay lit up like the widget does in GP. It only flashes red when I press it. Does this make sense?


I don’t have the NanoKontrol but i’ve read that you can change the button’s behaviour with the (Korg) editor from “momentary” to “toggle”, which is what you want.

Thank you schamass. That was it. Really appreciate you and everyone else help on this thread.



I think the nanokontrol can sync its LEDs with GP so they will update if you click the widget in GP. Do you have that working? The GP widget needs the ‘Sync’ button clicked (Midi tab), and I think in the Korg editor it’s called ‘LED Mode’ which you would need to set to ‘External’.

I have the same setup and the advice here is good. Edit the nanokontrol buttons to use toggle mode. You can use a single rackspace with multiple plug-ins. Assign LED button widgets to the plug-ins and the Mute buttons on your nanokontrol. I setup variations of the rackspace that enable the plug in I want and mute the others. Since the muted plug-ins are bypassed there is no CPU spike.
I also assigned knobs for scrolling through rack spaces and variations. It’s blazing fast.
One thing I learned the hard way: do not assign widgets in your rackspace for sending program changes to a single plugin instance. It introduces latency and even worse, in my case, caused a VST to crash GP on initial load.
You don’t need the variations since the buttons are assigned to the nanokontrol. I just found it faster to jump to the variation I need.

Hi rang13, you bring up a good point I didn’t know was possible. I’m trying to sync the solo button with the GP widget as you suggested. Using the Korg Kontrol Editor I changed the LED mode from Internal to External.

I enabled the Sync on the MIDI tab but it’s backwards for what I’m really wanting. Meaning that when I press the GP widget LED button to “on” the solo button on the nano goes to “off”. And when the GP LED button is “off” the nano solo button goes to “on”. At one point, I was able to get them sync’d by not inverting the value but if I don’t do that the plugin is by passed when the GP LED widget is in the “off” position. Again, I’m trying to view the pianos as they are enabled when the LED widget is “on”. From my point of view I’m considering the plugin by passed if the GP widget LED button is off.

Here are my settings.


Does this make sense what I’m saying?


There are two very different ways to “invert” the behavior of a widget in its properties:

  • in the MIDI tab (independently from what happens at the plugin side): move the assigned MIDI controller and use “invert” if the widget doesn’t move the same way

  • in the Value tab (independently from what happens at the MIDI controller side): move the widget and “invert” its value if the assigned plugin parameter doesn’t change the same way”

In your situation I don’t think you need to use INVERT the MIDI tab. It should work without.

I noticed in your screenshot that you assign a NanoKontrol SLIDER/KNOB to the ON/OFF button? The idea was to MIDI learn the Slider widget to the NanoKontrol Slider, and the ON/OFF widget LED button to the solo button. Is it what you have done?

Hi David, to answer your question - Yes. Under the MIDI tab I did “Learn” for each of the nanoKontrol2 items (slider and solo button). GP automatically shows it as “nanoKontrol2 1 (SLIDER/KNOB)”.

I find that in the Value tab, if I don’t enable the “Invert Value” checkbox then the widget’s on/off doesn’t show correct. For example, the plugin will NOT be by passed when the LED widget is “off” (un-pressed) and by passed when the LED widget is in the “on” position. In my mind it would be the opposite since I’m “soloing” the piano. When I press LED widget button I’m actually un-by passing the plugin. It seems that if I don’t invert it on the Value tab isn’t not showing the correct representation.

Again, I’m new to GP so maybe I’m going about this the wrong way. For me, I think I have everything working the way I want except the syncing of the LED widget and the nanoKontrol2’s solo button. When I press the LED widget in GP to turn it on, the solo light on the nano goes off and visa-versa.

Thank you for the help,

The two points of my previous post have been o be very clear for you, if it is not the case, please tell me what is not.

At the plugin side you are right, the idea is to invert the value (that’s how I did it in the original gig file you modified).

At the MIDI side, I don’t understand why you use the INVERT option, I don’t think you should. If you would need it together with the sync option, you would have a problem as there is a bug in GP which already on the list of the developers.

Regarding the “momentary to latching” option I don’t think it is what you want and it is probably the source of your confusion. With this option you need to press the nanokontrol2 button once to activated the GP button, and a second time to release the GP button. You need this only if you midi controller is momentary.