How to setup Cakewalk Generic Surface for Korg nanoKontrol

Now being a devotee of Cakewalk (Sonar) I looked at adding a Control Surface in the form of an old Korg nanoKontrol (version 1). Long story short it worked and I now have a preset saved as a Cakewalk Generic Surface.

The story for what its worth is as follows. The Korg nanoKontrol initially proved to be a problem in that it would not install correctly when using the Korg signed driver for Windows 10. You need to uninstall the Korg driver in Programs and Features, disconnect the nanoKontrol and restart. After restart check there is no app for Korg Driver in Windows Control panel. If the app persists then in Device Manager delete the driver again and restart. Now connect the nanoKontrol and it should now appear in Midi device lists for example in Midi-Ox.

Now that the nanoKontrol was usable I mapped the Control addresses using Midi-Ox. Here’s the midi messages displayed by Midi-Ox after pressing RecArm and Mute buttons. The Data1 column displays the controller address in this case 0x17 and 0x21 (decimal 23 and 33).
Here is the physical layout of the controller:
Map Table (control addresses shown as decimal)
RecArm button is closest to the rotary control. The transport controls also map as follows: Play 45, Stop 46, Record 44, Rewind 37 and FFwd 48. This map maybe the default but its advisable to map for yourself in case you have reconfigured it in the past. With the Control map available I started the Cakewalk Generic Surface configuration. Create a new entry in Preferences – Midi – Control Surfaces and select nanoKONTROL as Midi input port.
Open the Surface configuration window by clicking on 'Cakewalk Generic Surface -1'
And the configuration screen opens:
There are four controls to configure for each control strip (strips are the controllers for the corresponding track). In my case on the nanoKontrol these controls map to four Parameters, 1 being the rotary pan control, 2 the volume slider, 3 the track mute and 4 the track record arm. Each parameter has a Control address set in the ‘Controller’ box. The addresses for my controller are shown in the map table above.

To start the configuration process click the ACT button at the top left hand corner. It will turn blue. To configure each strip, set the ‘Configure Strip Number’ for the strip you are mapping. Select Parameter 1 and set the ‘Controller’ address. Referring to the map table, Strip 1, Pan control is address 14 so enter that into the Controller address box. Click ‘Learn’ and physically move or click the control on the controller that you are mapping to Parameter1 (in my case a rotary pan control). You can repeat this process for all the parameters/controls of interest. You then repeat the process for the remaining strips. It takes a while but you can save the configuration as a preset at regular intervals to keep your work.

Once complete the selected Cakewalk Generic Surface will become the default for all Cakewalk projects. Once complete you can export the preset using CW plugin manager.
Here’s a short video of the control surface in action.

Comments

Popular posts from this blog

VCV Rack interface with Cakewalk using VCV Bridge

Introducing Midichi, a MIDI chord interface

Build a Synthesizer VST on Windows using Cabbage