Getting handy with the $60 KORG Nano Series controllers and Ableton Live keeps getting more sophisticated. I did a "quick hack" using the text-based MIDI Remote Scripts with the nano as an example, and provided a download. Next, Raymond Weitekamp modified those scripts and added a monome for a full-blown Live performance. But now James Waterworth aka Myralfur takes the whole idea to the next level, with a fully custom set of scripts with control of additional channels, more control over tracks, and most importantly, interactive scene triggers.
I’ve built a custom python script for the nanoKontrol based on the hacked python scripts for the Axiom controller decompyled from live 7. It adds the ability to switch up to controlling channels 9-16 by changing midi channel (or changing up to scene 2 on the nanokontrol, which I had sending out on midi channel 2 instead of 1). It also has track on/off, solo/cue, panning, and also has the bottom row of buttons triggering clips on the relevant track, with forward and reverse skipping up and down scenes, and the loop button triggering the selected scene.
Best of all, you really don’t need to know – ahem – what you’re doing with scripting to make this work. Just follow the instructions below, and you’re ready to play – so you can get back to your set.
Now, James has polished off the script and fixed compatibility with Ableton Live 8, and this is ready for public testing. Give it a go and let us know what you think. I’ll work on a permanent home for all of this stuff, but for now, let’s just use comments for any issues. For some insane sounds, be sure to check out Myralfur’s music and DJ mixes on Soundcloud, too! He’s working on a rig that also incorporates a Sony PlayStation 3 controller.
A midi remote script for use with Ableton Live 8 and the Korg nanoKontrol.
1. Download and Unzip the file.
2. Move the nanoKONTROLMyr folder to the MidiRemoteScript folder within your Ableton Live application folder.
3. Open your Korg nano series editor and load the presets within the NanoKontrol Presets folder, over-writing your previous settings.
4. Select nanoKONTROLMyr as a control surface in the midi pane of the preferences window.
Bank 1 controls tracks 1 – 8
Bank 2 controls tracks 9 – 16
Bank 3 maps the encoders to the selected device and provides functions for moving tracks and devices.
Bank 4 is free for mapping to whatever you like, sending on midi channel 4.
The Ninth Slider is Always mapped to Master Volume, regardless of bank or midi channel.
The Ninth Encoder is Always mapped to Cue Volume, regardless of bank or midi channel.
Transport functions only work when receiving midi cc numbers on channel 16.
Different functions are called when in session view and arranger view for some of the buttons. The Loop button acts as a Shift to allow more functions to be called with the other transport buttons.
Loop = Shift
Play = Play (Scene Launch when Shift held)
Stop = Stop (Stop All Clips when Shift held)
Record = Record (Overdub On/Off when Shift held)
Rewind = Scene Up (Scene Up by 5 when Shift held)
Forward = Scene Down (Scene Down by 5 when Shift held)
Rewind = Cue Position Left
Forward = Cue Position Right
The Encoders map to the Pans of the tracks. When sent on different midi channel numbers they map to different tracks. Channel 1 maps to tracks 1 – 8 and Channel 2 maps to 9 – 16 etc.
When sent on midi channel 16 they map to the selected device. This works in conjunction with the pads and buttons sending on channel 16 which provide functions for moving track and controlling devices.
The Sliders map to the Volumes of the tracks. The tracks they are mapped to changes with the midi channel they are sent on. Channel 1 maps to tracks 1 – 8 and Channel 2 maps to 9 – 16 etc.
There is as yet no function for when they are sent on channel 16.
Top Row of Buttons
The buttons on the top row turn Tracks On/Off. The Ninth Button on the row acts as a Shift and when this is held the other buttons Record Arm the tracks. They function the same as the sliders and encoders in that they map to tracks depending on the midi channel.
However, when sent on midi channel 16 the buttons select and view tracks 1 – 8 mapping the encoders above to the first device in that track.
Bottom Row of Bottons/Pads
The buttons, or pads, on the bottom row Trigger Clips. The Ninth Button on the row acts as a Shift and when this is held the other buttons Stop the relevant clips. They function the same as the sliders, encoders and top row of buttons in that they map to tracks depending on the midi channel.
However, when sent on midi channel 16 the buttons provide various functions for controlling devices.
Button 10 = Track Left
Button 11 = Track Right
Button 12 = Device Left
Button 13 = Device Right
Button 14 = Bank 1
Button 15 = Bank 2
Button 16 = Device On/Off
Button 17 = Clip View/Device View