Sunday, September 13, 2009

Korg Nanos and Logic Studio

UPDATE: After you read this, check out my "two months later" review.

I'm saving money, right? I've got a mortgage and new furniture and a brand-new bed, and God only knows how much money I'll be taking home from work once all those expenses kick in. So I've been counting my pennies and going out less and eating cheaper food...

...and then I bought these.


They comprise the "Korg Nano Series," three very cheap and powerful MIDI controllers that you can hook up to your music software and do amazing things with.

It should be obvious what the "NanoKEY" is for: it's a two-octave, velocity-sensitive, polyphonic keyboard that's perfect for tapping out melodies. My "workhorse" keyboard is an enormous and heavy Ensoniq ESQ-1, and it's sheer overkill when I just want to tinker. But I can plunk the NanoKEY down on my lap and use it without any setup or bother. It just works.

Likewise the "NanoPAD," which is ostensibly for drum programming but can also be used to make wonderfully freaky noises. It has a touchpad which you can squish your finger around on, bending and modulating notes with total abandon.

Most important, however, is the "NanoKONTROL," which comes with nine faders and knobs and eighteen buttons. You can decide for yourself what you want these controls to do; since the NanoKONTROL has four different "scenes" that you can switch between, I've programmed the fourth scene as an eighteen channel mixer (I'll explain how I did that in a second), the third scene to accomplish common editing tasks (changing the zoom level, switching tools), and the second scene for controlling EQ parameters. The first scene is for whatever tweaky thing I want to do at the moment...changing the cutoff and resonance of a synth, for instance.

The NanoKONTROL also has six buttons for controlling the transport...it's nice to be able to play, record, stop, and move the playhead without ever touching the mouse or keyboard.

The three devices are lightweight and tiny, and can all be run off an unpowered USB hub. And you damn well better use a hub, for reasons I'll cover in a second.

Bad Things About the Nanos

You get what you pay for. The keyboard is certainly not for performance...it's good enough for recording, but it occasionally drops notes.

As for the controller, the faders are short, none of it is motorized, and it receives no feedback from your editing software, so it is rarely in sync with what you're doing; if you tweak something in your software and then try to tweak it with the controller, the position of the controller and the value in your software will not match. This isn't crippling, but it does lead to twitchiness.

Also, since it has no assignable labels on it, it's very easy to forget how each control is assigned. And you can't get a nice shuttle/jog setup because none of the knobs are continuous; they all have a beginning and end.

But when you spend $80 for a controller you don't expect those kinds of features. These units are for hobbyists and for quick-and-dirty experiments; they aren't professional gear. Sigh.

Bad Things About Logic Pro

The real problems come when you try to integrate the NanoKONTROL with Logic Pro. In some ways it makes sense that the procedure is difficult: both Logic and the controllers are so freely configurable that it's impossible to offer a single solution. You, the user, must make decisions about how you want to use the controller...and then you must teach the hardware and the software to speak to each other.

Configuring the Nanos themselves is super-easy: you download the Korg Kontrol Editor and use it to tell the nanos how they should behave. Which MIDI channel will they use? Which notes and/or control codes should they send for each pad, fader, button, and knob? Should the buttons act as toggles -- sending a different code for each press -- or should they be "momentary," sending one code when depressed and a second when released?

Korg also tells you that, if you want to use more than one Nano at a time, you need to install their USB MIDI driver. I don't know if this is really necessary or not...I did it as a last resort when things seemed to be going haywire (see below).

Your nightmare only begins when you need to tell Logic how to use the NanoKontrol. You need to use Logic's "Controller Assignments" dialog, which you can access by pressing Command-K. Remember that shortcut...you'll use it a lot.

The Controller Assignments dialog is the dark smelly butthole of Logic Pro. It's ancient and unfriendly and buggy. It can just as easily make your dreams come true as it can totally destroy hours of hard work.

If you are faced with the task of configuring your NanoKontrol within Logic, my first advice is to READ THE LOGIC PRO CONTROL SURFACES SUPPORT MANUAL, but when it tells you in chapter one that you must "add" the device to Logic Pro, DON'T BELIEVE THEM. Logic cannot detect the NanoKontrol so it can't be "added" in the usual way. Skip chapter one entirely. Chapter two -- "Customizing Controller Assignments" -- is the one you need to read.

My next piece of advice is to NEVER USE THE EASY VIEW. It's confusing and gives you no idea of what you're actually doing. Skip right to the Expert View and do everything in there...

Key Commands

...unless you're assigning Key Commands, which is best done in the Key Commands dialog (Option-K). If you want to assign a button on your NanoKontrol to a keyboard shortcut in Logic -- and there are hundreds of them -- then use the Key Commands dialog...just select the command you want to execute, click the "Learn New Assignment" button, and press a button on your NanoKontrol. Presto!

This is great for the transport buttons (Play, Stop...) and for things like "Page Forward" and "Switch to Scissors Tool." It is NOT, however, useful for the knobs and faders, or for special controls inside plugins. For those you need the Controller Assignments dialog.

Additional Key Command tips: use the Search field to find the controls you're looking for, and NEVER try to resize the columns; you'll end up with the first column becoming half its width, therefore obscuring most of the commands, and you will not be able to fix it. You'll need to hover your mouse over the commands to receive tooltips, which don't always appear. Grrrrrr!

Controller Assignments

Now for the hard part: the infinitely configurable faders and knobs and plug-in stuff.

Logic Pro remembers the last thing you touched within the interface. If you open a plug-in -- like the EFM1 synth, for instance -- and then click on a control -- such as the FM knob -- then Logic will remember that you touched it.

If -- immediately after touching it -- you go to the Controller Assignments window and click the "Learn Mode" button, the following things will happen:
  • A new control called "Learned" appears in the Control list.
  • The "Learn Mode" button becomes shaded, indicating that Logic is ready to associate the last thing you touched (the FM knob) with the next MIDI message it receives.
So when you twist a knob on the NanoKontrol (or move a fader or press a button), the NanoKontrol sends the MIDI message associated with that knob/fader/button (which you can set in the Korg Kontrol Editor), and Logic assigns the control to the MIDI message. Presto! The Control list will show something like "Learned - EFM1: Carrier FM Intensity," and when that list object is selected you will see information about the "class" of the control (see the Control Services Support Manual), the device which sends the MIDI message ("nanoKONTROL SLIDER/KNOB"), and nifty options for setting the value (see the manual again).

Here's the awful shit you must now remember to do:
  1. If you are finished assigning controls, CLICK THE LEARN MODE BUTTON TO EXIT LEARN MODE. If you don't do this you will screw everything up. As long as that button is shaded, Logic is hijacking everything in order to link controls with MIDI messages. Do not touch anything else in the interface or twiddle ANYTHING on the NanoKontrol before exiting Learn Mode.
  2. If you want to assign another control, however, then click something else in the interface (like the EFM1's "Harmonic" knob), then twist another knob on the NanoKontrol -- resulting in a new control assignment -- and keep doing this until you've assigned everything. But remember to click the Learn Mode button when you're done! Otherwise you will reassign controls, or assign multiple knobs to the same thing, and untangling that mess can be hell on earth.
  3. Kick whoever designed the Controller Assignment window squarely in the ass. "Learn Mode" button which acts as a toggle? This is NOT part of Apple's design specifications, I'm sure.
Once Learn Mode is off, twiddle your assigned knob. It'll work! You can now tap the keys on your NanoKey and use the knob to change the FM Intensity of the notes. Brilliant! That's why you bought this thing!

If you're using the NanoKontrol to change the automation on a track -- say, to change the FM Intensity for MIDI notes recorded on one of your tracks -- you need to switch the track to either "Latch" or "Touch" mode (read the regular Logic Manual), then hit "Play" (not "Record") and twist the knob as the notes play. The changes are recorded to the track as automation values, which you can go back and edit.

If you want to use the NanoKontrol as a mixing desk, you want to assign your controls to the "Fader Bank" channel strip within the "Channel Strip" class, then set which Fader Bank track you want to assign the control to. This is BEST done in the Mixer window, because when you use "Learn Mode" after touching a channel strip control in the Mixer window, the Controller Assignment window automatically uses the proper Fader Bank and track number. Otherwise, if you do this in the Arrange window, the control will be assigned to just the "selected track."

Remember when I mentioned that I'd assigned the nine sets of controls in Scene Four to be an eighteen-channel mixer? That's because I set one of the buttons to perform a "Mode Change," to toggle between two sets of controller assignments: one for tracks 1 to 9, the other for tracks 10 to 18. By changing modes you can infinitely extend your number of assignments, but this requires planning (because you have to add all your assignments to new Zones and Modes within the Controller Assignment window).

Fortunately, if you fiddle with something on your NanoKontrol, its assignment is highlighted within the Controller Assignments window, which can help you fix mistakes like multiple assignments. But that's the only user-friendly thing about the window: you cannot sort or group your assignments in the list -- they appear underneath whatever you have selected at the time -- and you can't make changes to the parameters of multiple assignments at once, and you can't drag assignments between zones and modes.

As if that didn't suck enough...

Logic Studio Can Forget Your Assignments

Until you realize this -- and why it happens -- you will be SCREAMING IN ANGUISH.

There is a terrible bug in Logic Studio. Each time you add or remove a MIDI Input device to your computer, Logic Studio's list of MIDI devices changes. And it seems that your controller assignments -- those hundreds of knob-and-fader connections you've so painstakingly created -- are not mapped to specific MIDI devices, they are rather mapped to the number of the MIDI device within Logic Studio's list. And if the ordering of the devices in the list changes -- because you've added or removed a MIDI device, simply by unplugging its USB or Firewire cable -- it is highly likely that all of your controller assignments will map to the wrong MIDI device.

So attach all your USB MIDI devices to a single hub, keep them always plugged in (at least when using Logic), and don't swap them around. If you do, you will find that your assignments no longer work. You can manually select each assignment in the window and reset its MIDI Input device (the manual claims that doing this for one device will reset all assignments which use a similar device, but I don't think I believe them), or you can try plugging everything back in and hoping that the list sorts itself back in the original order, but whatever you do DON'T BLAME YOUR NANO. It is Logic's fault.

Tip: Sometimes, when you twist a knob or push a fader that you haven't used in a long time, you will find that it doesn't immediately work; this is probably because it isn't "in sync" with the object it's controlling. Try moving the control all the way in one direction, then all the way back to the other direction, and I bet it will work again. Otherwise open the Korg Kontrol Editor and make sure the Nano is connected. If that doesn't work, open the Controller Assignments window and see what sort of evil crap that Logic Studio has done to the assignment.

I think that covers it. I'm very happy with my Nanos, and more than a little cross with Logic. Fixing the Controller Assignments window should be a top priority for them, and this is a bug they've known about for years...do something, people!

PS: All of your assignments are stored in a file called com.apple.logic.pro.cs. Every time I make a change to my assignments I make a backup of that file (it's in your user's Library/Preferences folder).

PPS: My NanoPad came with the wrong USB cable...a full-size one instead of the required mini. This is strange.

7 comments:

MIvat said...

my god, thank you. Wouldn't have been able to do this otherwise. I hate Logic sooo much. Ableton's looking pretty good right now...

Muffy St. Bernard said...

You're welcome! I wrote this up specifically for people in the same position I was in, and I'm glad it's helped.

I'm still a Logic fan myself, but I more than understand your frustration, especially with this situation. Other than the terrible way it assigns controllers, I find that Logic only frustrates me when I don't fully utilize its key commands and screensets.

Enjoy your Nanos! And maybe your Ableton. :)

MIvat said...

I am however encountering the problem of trying to use an additional MIDI controller at the same time. When I have my Prokeys 88sx plugged in, all my control settings go to that, and the Kontrol becomes useless. The Kontrol works again after I unplug/turn off the Prokeys. I'd like to be able to use both at once. Is there anything I can do?

MIvat said...

nevermind, I simply reinstalled the Prokeys, now everything works fine.
Have you made full songs in Logic? I'd be interested to hear...

MIvat said...

sorry for some many comments, one last thing:
Is there anyway I can have a knob in a certain scene control just the currently selected plugin without changing the others on the track? And then switching to another plugin and controlling the parameters with the same knob(s)?
Thanks very much for your help

Muffy St. Bernard said...

Mlvat,

Yup, looks like you ran afoul of Logic's Controller Assignment List bug, wherein adding new devices (and changing the order of the list) can reassign everything. Glad to hear that reinstalling worked! It probably re-added the Prokeys to the end of the list.

As for my own music, yes, much of what I've done during the last four or five years has been in Logic. The CDBaby links at the top right of this page will take you to my last two releases (also available through iTunes). You can also listen to new songs here:

http://dangermuff.com/uphold/listening.html

As for your question, that sort of thing works for me automatically, but maybe I don't understand exactly what you're doing. I think it all depends on whether your assignment's "Channel Strip" is set to "Selected Track" or "Fader Bank."

If it's set to "Selected Track" (which happens automatically if you assign controllers from the Arrange window) then it should affect the plugin in whichever track you have selected when you move the knob.

If it's set to "Fader Bank," however (which happens automatically if you assign controllers from the Mixer window), then it should affect only the plugin in the track that you had selected when you originally assigned the controller, regardless of which one you have selected when you turn the knob.

Make sense? Does it work? If not, let me know what you're doing in more detail.

MIvat said...

Everything that controls parameters of instruments and effects I have set to selected track. The problem I'm running into is that I originally hoped I could control all inserts (plugins that aren't instruments) from within scene 4, and whatever insert was highlighted would be the one I could control. What happens is that once I have more than one insert (effect) on an instrument, I'm not only controlling, say, the room size of the Averb, but the feedback of tape delay at the same time. I can't figure out any way to make the nanoKontrol focus on just the highlighted insert, there may not even be one.
It's something I'd like to fix, but if means reassigning EVERYTHING, I think I'd just put with it.
The songs sound awesome by the way, especially the UPhold stuff...

I have my more recent stuff streaming at myspace.com/mivat. both that and my first album are up for grabs if you're interested.