The nanoKONTROL set up on a desktop. Photo (CC) Danny Ku.

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)

Session Specific

Rewind = Scene Up (Scene Up by 5 when Shift held)

Forward = Scene Down (Scene Down by 5 when Shift held)

Arranger Specific

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


  • decrepitude

    Bravo, Bravo! Quite a generous offering!

    Will it work on Live version 7?

  • looks amazing, but to be honest i don't really know what it does without a video :/

  • JOBOT//

    Hey, long time reader.

    Been very interested in a lot of the USB midi devices (recently got a fasttrack pro!)

    I am looking for some advice on usb hubs and using multiple usb devices at the same time with limited usb port realty. Damn iMac only having 3 ports x(

    Was going to join the forum and seek advice there, but I can't join =(

    I'm really digging these usb midi planks from korg, inexpensive and they sound like they'd be amazing. Looking forward to hearing more about them. Would be amazing if I could get some input on my USB shortage dilemma.



  • Frank D

    My sincerest thanks to everyone involved in this!

    This hack certainly takes the nanoKonrol to a whole new level! I honestly have not been using my nanoKontrol that much, but I can now see it really becoming a central part of my setup now (at least when I'm roaming around with my laptop).

    Thanks, thanks a lot!

  • Frank D

    @ Jobot

    Macbook Pro user here – only two USB ports to divide between a lot of devices… Surprisingly, at least my Mac's ports can supply a lot of bus-powered devices through a hub without the need for additional power. A hub won't cost you that much, so I don't have any particular brand to advise. Due to power consumption of bus-powered devices (such as the nano series controllers), I'd still advise you to get a hub with an auxiliary power input option. I have been able to run all three nano controllers through a single hub without the need for any aux power, though.

  • oddstep

    This is absolutely fantastic. I've been wandering slack jawed around the Live API for a while now – trying to move on from the midi remote script… I''m really glad Myralfur has got the skills to develop this and that you've posted this.

    Cheers Peter!

  • Till

    This is ablsolutely fantastic!!

    One suggestion/question though. Why use two different "Shift" buttons? can't we use Loop+Top Buttons 1-8 for arming the tracks instread of top button 9 + top buttons 1-8?

    Would this be possible?



  • JOBOT//

    @Frank D

    Thanks for the advice! I was thinking that a USB hub with external power plug (such as AC) would be the best. I currently have two hubs that power right from USB that I've been using my external HDDs with my samples and instruments on. One thing that I'm concerned about on top of that, is bandwidth. I would figure it wouldn't be an issue… but I am hoping for good results. Next few paychecks might have to go toward some korg nanos, or maybe an axiom 25 (looks freakin amazing… and does velocity on the keys and drumpads!) roughly same overall price when split between all three korg nanos, or the one m-audio axiom 25… so I think I'll try to find somewhere that has the stuff on display… if I can manage to get similar results out of one usb device than 3 separate ones, then I'll try that. I do like the x-y pad on the nanoPAD though… sexy.

    Off topic, any luck for me to get an account on the forum? (hopeful…)

  • lilith

    very nice, really love the NanoPad, have the keys too but they are only good in a pinch IMHO, probably getting the Kontrol this week.

    Currently using a netbook, it only has 3 usb ports. @ home I have APC40 and NanoPad going into one and audio interface to the other. On the go, only NanoPad, and Kontrol when I get it. Not sure I'd need anymore ports unless I added an external HD

  • lilith

    oops mean have APC40 and NanoPad going into two ports, durr. APC (or Kontrol) would be for triggering loops, NanoPad is for one-shots. I also really like composing synth melodies on the NanoPad it makes me think different

  • priscilla

    @ JOBOT

    Hey I just recently Bought A Kensington 7 port usb with Aux Power. It's fantastic. It has 3 ports on back and 4 in front. Plus it has a brushed metal finish like my imac 🙂

    I would also agree that buying a good usb hub with aux power is the best way. Usually because you can use those with the adapter and without so it's like "dual powered" if that makes any sense. It was 30 bucks at my local Fry's Electronics.

    Belkin also makes a cool hub that comes apart so you can take it off the adapter and have three on your desk and a little small bus-powered one to go. Here is the link for a more accurate decision.

    Good luck

  • jrs

    Excuse the noob question, but how do you change the midi channel the commands get sent on from the nano control ?

    That gap in my understanding aside, this looks awesome !

  • Thanks for the kind words and feedback guys.

    The documentation could have been clearer on banks and channels, it was late in the morning when I finished the last bit of code and did the write up.

    The nanoKontrol presets I provided set Bank 1 to send on Channel 1, Bank 2 on Channel 2, Bank 3 on Channel 16 and Bank 4 on Channel 4. This allows the Banks to map to the tracks described and Bank 3 to control devices.

    I mentioned the midi channel information in case anyone has a nanoKontrol setup they already like using and want to add ableton live control to different Banks. For instance if you're only using 8 tracks or below you can change Bank 2 to send on Channel 16 and have Banks 3 and 4 on the nanoKontrol free for whatever you want. Similarly if you use up to 24 tracks you could change Bank 3 to send on Channel 3 and Bank 4 to Channel 16.

    Here's where it can get a little confusing. There's also a second type of 'Bank' I put in the documentation. Apart from the nanoKontrol Banks there's also a Bank in Ableton Live Effects. For instance if you're using a standard effect or synth in Live, as opposed to an instrument or effect rack with only 8 knobs, they generally have more than 8 controls you'd like to access. The Bank 1 and 2 controls on the bottom row of buttons on nanoKontrol Bank 3 allow you to change the encoders to control other functions of you're selected device.

    I've noticed there's more than 2 possible banks for some of the Live synths with lots of controls and I'm hoping to change the buttons to skip up and down between the 4 possible Banks instead of just selecting between Banks 1 and 2.

    Hope that clears a few things up to anyone confused.

    Unfortunately the script won't work with Live 7. I had to change a few things around to get it working with Live 8 and although these changes weren't that significant it does seem to stop it working with Live 7.

    As for the seperation of Shift Buttons. This is simply because in the original decompyled Live 7 scripts for the Axiom Controllers the Transport, Buttons, Sliders and Encoders are all dealt with in seperate python files making it a little awkward to use the Transport Shift/Loop button in with the buttons. Personally I quite like the separation, probably just because that's how I used to use it on my Axiom keyboard. If it's a serious issue for you I could look into making an edited version for you.

    To change midi channel on the nanoKontrol you need to open the Korg nano series editor and click the buttons labelled '…' above the nanoKontrol. In these you can specify midi Channel.

    Thanks again guys, glad you're enjoying it.

    Oh and I would like to be able to make a tutorial video on setup and use, also just for recording some monome performances. But I've really never used video before and have no video software to speak of except Jitter.

    Can anyone suggest a good free screen recording program and a program in which I could combine this with a second input recording the nanoKontrol, maybe add a few titles.

    Any help would be much appreciated.

  • Pingback: Max for Live, MaoMakMaa Sample and DIY Blog, Behind the Scenes with 8-bit Band Anamanaguchi, nanoKONTROL Myr for Ableton Live()

  • Richard Lyall

    Great – thanks for making this available.

  • Richard Lyall

    How would I tweak the slider settings so that the maximum slider position is -2.0db rather than 6dB, which is what I normally use?

  • It's an issue I've had myself. I usually like mine at -4db :). Unfortunately there's no option in the midi map screen for conventional midi assignments.

    At the moment I'm using and edit of LiveControl built for monome by ST8 and have a row of buttons on the Clip Launcher resetting volumes for tracks.

    But I'm pretty sure it'd be possible to change this in the file in the download. I'll have a look into it.

  • I have struggled with my controller setup ever since I moved to Live (part of a wholesale change). I use an XBoard 25 to drive a Live and Kore2 (software ed) centric setup. It was between the APC and Kore2 hardware (now that it has MIDI). The nanokontrol actually might trump them cause I don't want to spend that much money and it will add Ableton control to the XBoards Knobs.

  • Hey Myr, is there any way you could post a version that works with Live 7, or give a clue how to make one? Thanks a lot and great work.

  • porter

    i am having trouble getting this to work!! I have followed all of the instructions, but i cannot get the nanoKONTROLMyr to show up as a control surface in the midi pane of the preferences window. Not sure if that is them major issue or what but im itching to try this out!! Any help would be greatly appreciated, thank you

  • libertyrock

    take-over don't work

  • Bagatellier

    Hey, I'm having the same trouble as porter – I've followed the instructions but can't get it to show up in the midi pane. Does there need to be a .txt file in the folder? if I copy the UserConfiguration.txt into the folder then it will show up, but it won't if I don't. Is it something to do with the scripts being Python? thanks!

  • Bagatellier

    Oh sorry, I just worked out that I was putting it in the wrong folder – User Remote Scripts as opposed to MidiRemoteScripts. Working now! Thanks

  • is there a way to get this working with a nonoPad? i would like to have this kind of function with that.

  • Gabriel

    Where is the MidiRemoteScripts Folder?

  • Gabriel

    Ok Ready… if you're using Mac OSX go to:

    1.Applications Folder

    2.Ableton Live Folder

    3. Right Click over the Live icon,

    4. choose "show package content" option

    5. In these folder is situated de Midi Remote Scripts Folder

    sorry for my english… i'm from Venezuela

  • bart

    hey, great work. but is there a way to override this settings? for example i want to have knobs to send and not to panning. what should i do?

  • You can override any of the mappings with the standard Live Midi Map.

    But, I'm working on a new version with a few bug fixes and control of sends.

    Hopefully be out by wednesday if it all goes well and I get the time.

    Also I've started a thread on the Ableton forum if anyone uses that.

  • so i went and got a kontrol, and this patch rocks. so much great work here to make my work that much better. thanks.

  • bart

    thanks, i already foud it out. your script IS something!

  • Fixed a few bugs.

    Stop buttons now work a bit better, don't cause any errors when there's no clip to stop, and basically act more as track stop buttons than individual clip stops. So the clip doesn't have to be in the currently selected scene to stop.

    Also added the extra two banks available to some of ableton's larger effects. When on Scene 3 you can now hold down the 9th button on the bottom row and press the Bank 1 and 2 buttons to gain access to Banks 3 and 4.

    Oh and why I was calling the Scenes Banks I'll never know. It was far to early in the morning when I first finished the documentation. So I've updated it a bit and promise to call the Scenes Banks no more.

    My attempts to add control of sends and the ability to select a Take-Over mode other than absolute have so far failed miserably.

    I'm pretty busy with some other projects at the moment, so I'm not giving up, just don't have the time right now.

    When I do get the time I'd like to add control of sends to Scene 3, or whichever you put to send on Channel 16. The sliders are free, and with track select already set-up on that Scene it should allow you to select a track and then have the sliders mapped to sends 1-8 of that track.

    If anyone else wants to have a go at adding this functionality I'd love to see how you do it.

    Download here: … entID=1995

    Enjoy for now tho.

  • Oh and I just found the old version for Live 7 I made, it's not really complete, it's missing some functionality of the new one, and without Live 7 I can't really test it or add the new functionality that easily. But try it out if you're still using Live 7.

    Download here: … entID=1996

  • hey james, if you're still interested in doing the screencast you can try some of these programs:

    Jing is on that list which is pretty good.

  • David

    I have to say these work wonders in Reaper with the actions section. Set up a custom group of say 20 actions and let it roll with one button push. Thanks Korg

  • libertyrock

    Are you over the take-over mode problem on your script?


  • It appears the take-over issue isn't limited to my script:

    To be honest, after reading this I gave up looking for a solution.

    The only development I'm working on at the moment is adding control of sends to the faders on the Scene controlling devices.

    However, I'm quite busy at the moment so this might not be for a while.

    Let me know if there's any other issues, add on's or problems that might be a bit easier to sort out.

  • libertyrock

    I think take-over is very important why working with each livesets are imposible else is better mmidi manual mapping.

    Sorry for my english

  • hello

    hi!!!! what about tha hacker stuff with the NanoKontrol used in Pro Tools 8???

    by the way! we ( L ) hackers

  • hello

    i'm using the NanoPAD it's AWESOME I use it with BFD drums, Reason, and all the plug ins from Digidesign

  • Jean-Luc Debord

    Supreme kudos for your great work Myralfur! I just got a nanokontrol and your script was up and running in no time. Brilliant stuff! Cheers

  • Pingback: Create Digital Music » Novation Launchpad: Impressions Video, Questions and Answers()

  • Hi,

    I got it to work with Live 8.0.3, but after I installed Windows 7 & got a mail for an update of Live 8.0.5, you script doesn't work anymore.

    I've loaded the scene set via the Kontrol Editor into my nanoKONTROL & I've copied the nanoKONTROLmyr directory into the Midi Remote Scripts directory of live.

    Live also see's my midi input signals when I try to map a slider or button myself, so the problem isn't the midi.

    In the midi settings the track & remote are ON for the input & output of the nanoKONTROL & the Control Surface is also correctly set to nanoKONTROLmyr.

    So I don't have clue what I'm doing wrong, but I just can't get it to work.

  • hmm…

    well it isn't Live 8.0.5 because I just updated to that myself.

    it could possibly be that the version of python installed in Windows 7 isn't compatible with Python 2.5. Which is the version of python this script is in and ableton likes talking to.

    i know that's been a problem for some people upgrading to Snow Leopard on Mac, although it was with a different python script to mine.

    apparently downgrading the installed version of python to 2.5 solved this problem though.

    let me know if you have any luck after downgrading to 2.5.

  • Alessandro

    I had problem to run the script since I change the directory name from nanoKONTROLmyr to nanoKONTROL.

    I installed the last version of the script nanoKONTROLsub, can you please suggest how to implement SOLO button also in arrangement?

    thanks for your work

  • The latest version of my script is up for download here:

    No big fixes but there seemed to be some confusion over which was which.

    On the top-row of buttons Record Arm now works without Shift (the ninth button) held, Solo/Cue when it is held.

    On the bottom it's Launch Clip without Shift, Stop Clip with.


  • @ Alessandro

    Changing the directory name does seem to make the script stop working, I'd suggest just leaving it how it is.

    The nanoKontrolsub version I made, was a quick fix for a guy on the Ableton forum. Not really sure why solo doesn't work in arrangement, but it could be something to do with the Solo button now being on the bottom row of buttons.

    Try the latest version I just posted up, with solo on the top row, and let me know if it works, otherwise I'm pretty much stumped.

  • Alessandro


    Thanks for the help. Now I'm trying to understand your code, I can't find the definition of the button fuctions. I mean the pads file has the functions of only the pads (bottom row), where can I find upper row?


  • daniele

    Hello I m trying to use the nanokontrolmyr file but i can t sfind it in the midi pane in ableton.I ve put the file in the Midi remote script uploaded the scene set on the nano kontrol but…i can t find it.Im using ableton live 8 suite 8.04 with windows xp.

    Any help will be accepted since i ve just bought the nano kontrol after finding this post.Thanks btw for all the info u have passed.Nice work m8s.

  • Conan

    I'm having the same problem as above. I'm not getting the nanoKontrolmyr coming up in the midi pane in Live. I'm using 8.0.9 on a macbook pro and I'm pretty sure I've followed the instructions properly. Thanks.

  • jamm

    Thanks for the great script!

    one thing doesn,t seems to work. after i push "forward" to the next scene and then i push "Shift" and "play" but it doens,t start a new scene.

    Also "shift" and "forward" doesn,t go up 5 scenes

    am i wrong?

  • Conan

    I'm not sure what's wrong here but this doesn't do anything its supposed to for me. Very little does anything at all and random faders control random faders in Live. eg fader 1 on the nanoKontrol moves fader 4 in my Live project. A lot of the buttons dont do anything at all. I'm not sure why this is I see lots of people getting this to work straight away but no joy here I'm afraid.

  • mrgoby

    super duper cool… works great. Thanks so much for sharing !!!

    I'll take a peak at the code later and see if there's anything I can contribute

  • hieronyme

    Thanks alot for sharing your work : your patch is awesome!

    Working fine (right from the start) with Live 8.1 on MBP / Mac OSX Leopard… AND ALSO with Live 7.0.18 on iBook G4 / Mac OSX Tiger!!!

    After a long (long) time trying to configure a Novation Nocturn, without any success, this is a complete relief 🙂

    One tip for Mac users : remove NanoKontrolMyr.rtf and NanoKontrol Presets folder from the original NanoKontrolMyr folder (& keep them aside). Then drag & drop this folder "into" your Ableton Live app :

    1- Go to your Ableton Live folder, right click (Ctrl+Click) on Live and select "show package contents". In there go to the folder Contents/App-Resources/MIDI Remote Scripts/ and move the NanoKontrolMyr folder into it.

    2- Connect your NanoKontrol device, open the Korg Control Editor and load "NanoKontrolMyr.nktrl_set" into your device.

    3- Start Live.

    4- Go to Preferences, MIDI/Sync tab and select NanoKontrolMyr in the dropdown list of available control surfaces. Select "NanoKontrol (slider/knobs)" as MIDI port input and "NanoKontrol (ctrl)" as MIDI port output.

    5- Close the preferences window and start to kontrol!!! 😉

    Suggestions to the developper ; a few features that could interrest me (in the future versions) :

    – global tempo control

    – global quantize control

    – metronome on/off

    – "momentary undo" control : the button that turns red, beside the "OVR" button

    – audio clip pitch control

    – clip scrub / loop start / loop length control

    – crossfader control

    My very best regards,


  • Phil


    if you want another great script, try the Novation Nocturn by Guille 😉

    No more headhake 😀

  • mik campbell

    Great tool thanks. For some reason though the launch clip doesnt work for me in ableton live 8.1.1. Also, is it possible to edit scene three so that the sliders control the volumes of track one to eight and track 9 to 16 with shift held, as they dont seem to be used for anything and it would save switching scenes. Also takeover mode in ableton doesnt work on the faders and dials which is causing me some real problems when switching to different instruments and scenes.

  • john

    Awesome stuff, thanks!

    I'd love to get a way to navigate up down left right play/clip all on one scene though.

  • Baikonur

    File not find =(((

  • cyberphunkk

    i tried it but dosent work with 7 do u have version that works with 7.0?

  • cyberphunkk

    p.s file is not availabe 🙁

  • jujuj

    link is dead ;_;

  • Tyson

    can somebody post another link please?

  • Marc

    The link for send me to a 404 page. Is it still available?

  • Marc

    The link for send me to a 404 page. Is it still available?

  • Marc

    The link for send me to a 404 page. Is it still available?