MIDI Remote Scripts for Ableton Live 9.7.1

MIDI Remote Scripts for Ableton Live 9.7.1

Update 3: Life got busy and now I’m a scientist, so I have no time to update this for Ableton Live 10 or answer questions. Sorry, but I love you xo.

Update 2: Working with Push 2 thanks to Aleksander Olav, use his script here:

Update 1: check the readme for instructions on how to increase the size of the scene/clip selection box.
I’ve also started learning the ins and outs of Python more in depth at university so hopefully in the near future, I’ll have an application or script that can do all the things you guys keep asking for.

A simple way to create custom MIDI Remote Scripts for Ableton Live 9.7.1*
This tutorial was made on a Mac but should work fine on a Windows machine.
Leave your feedback and questions in the comments.

My script:


MIDI Monitor:

Hanz Petrov’s Remote Script Blog & FCB:

*Not yet tested on pre-9.6 versions of Live Suite and not tested at all yet on Lite, Intro or Standard but should still work the same. Working on versions 9.6 and above. Should work from version 9.2 onwards.

hello Ableton users I'm here today to take you through instant mappings for April on live 9s a MIDI remote scripts what are they and why are they useful midi remote scripts are pre-configured pre maps scripts for some control surfaces but not all of them you might have a controller that's not natively supported by Ableton Live and you'll find that you'll either have to map everything manually or set up a template so that they remain mapped all of the time it gets pretty old so this will help you kind of tell Ableton Live to see the controller and give it controls like mix it controls your buttons like play stuff loop tempo nudge tempo controls mixer controls of course like volumes pans and sends and other things like the scene navigation box which I will show you later on track selection macro selection etc so before we get into that you're going to need a few things number one is a text editor you can use notepad or text edit it doesn't matter which one you use but the one I use is Adam you can pick that up I'll leave a link for that it's free and you're also going to need a MIDI monitoring application so I use MIDI monitor by snowy's I'll also leave a link for that and lastly the media remote scripts that you're going to be editing that I've helped create now this is all made possible by hans petrov from remote scripts blogs dot blog spot.com he put in all the hard work I just kind of took it and made it easier to interpret and that video as well for you I will leave a link to his website so you can learn more because he's got quite in-depth on on the process of creating them from scratch which is great now the other thing is that these scripts will not work as far as I know with versions of live 9.1 or earlier you should be able to modify honza's FCB 1020 script which I'll also leave in the description below before we get into the creation I'll show you what I was able to do with my BCR mm so the BCR mm is made by bérenger it spots 32 encoders 8 push encoders which are banked you'll see that in just a moment on the right top four buttons will Bank you between those four push encoders 16 buttons along the top 4 to the right for customizing and you can also customize the store and edit loan buttons and the preset buttons as well but I always keep those the same so along the top here you can see we've got our volume controls and now push encoders for track selection and then we've got our bank one for sends a you can see there we've got sends a moving around they're all then we've got our push encoders which are a stop buttons they're for being a in BEC see you've got the sends be going on and see if course for the third one now that's a solo button for the third bank there we've then got our mutes track arms the all-important pan left and right now this one here is actually set to a master control which I've set manually on purpose this is our track selection here as well so you can bank between those you can see that these eight macro controls change as you switch between tracks and this is mayor my master one these are just repeaters that I keep on all the time and I like to have them in control so we've got the bank selection buttons here on the right and at the top you can see the scene navigation selections so that red box will move left and right but have no need for it to go up and down yet because I don't use the clip or scene selection on the VCR we hit the here preset button you can see I've got that master one there on the left so I keep that on every preset and these are volume controls and also track track mutes as well the first thing I'm going to do is open up Ableton Live launch the Preferences pane and on the left here click link MIDI and we're going to just take note of the name of your controller quite important here just make note of capitals numbers and spaces here I have a space all of the spaces that we type in for your controller name need to be replaced with an underscore instead of the space I'm not sure why but that just is the way it is we're going to then close completely closed down Ableton Live and I'm going to get you to open up the your controller name zip file I'm going to move mine to the desktop what we're going to do here is rename the control of to your controllers name and then open the folder inside you're going to see a few files here none of them are important only just three of them we're looking at these three ini t-midi underscore map and your controller name now we're just going to rename your controller name as well okay and if you are using atom open it up inside of atom otherwise do a right click open with and open it with your preferred text editor okay as you can see here in atom it'll allow you to peek inside so the folder that we have here rather than having to reopen it from the finder I'm going to be using this here on the left now the first thing we're going to do inside of atom is use the find feature the first one here you probably have a similar feature if you're using a different text editor and what we're going to do is have a search for your controller name now because we're using the replace feature you need to make sure you're using the exact amount of letters two characters otherwise it will not work pop in your controller name and then replace all you're then going to save that you can close it and we're going to open up our cheery beat step py again we're going to replace all the reason we're doing this is because I cannot be bothered finding all ten manually that takes a lot of the work out again we're going to save and close and the last one media underscore map which is where we're going to stay for the remainder of our editing now you can just replace this one it's a not important but I forgot to new lease sake we're going to do that anything here in gray light gray you can see after a it's just a comment most of these comments are already prefilled that it's stuff left by hands Petrov so this was quite useful for me figuring out how everything inside of here so you can tap escape to remove the fine window we are now going to open up our MIDI monitor and I'm just going to move that down there let's see if we've got some note great now just a few things about MIDI monitor ensure that you have source checked or if you have many just the archery or beat step is checked here under MIDI sources and lastly under preferences you want to make sure that the note format is set to decimal number we have a look here if we set it to note we only get the note values here G sharp a a sharp etc with decimal number we get the number note value instead which is what the code understands it doesn't understand to be the note value information so let's let me take you through just a couple of these now most of them are self-explanatory but the first one you might not might not know what it actually quite means because I didn't the first one here is track offset and that's set to negative 1 by default and scene offset just below which is set to 0 now essentially what this is all about is the colored box that you'll see around the session view when you're using a controller that can access Clips within session view it's normally up to 8 on most controls if you views push or the launch pad you'll be very familiar with this box this sets the position at where that box starts so if you set this to 8 it will start 8 tracks across if you set scene to 3 it will start 8 tracks across as three scenes down so it's just the position I like it where it is so I'm going to leave it there the next one we have now is a button channel and message type now the button channel needs to be set to whatever channel your buttons are because all the button controls for things like play stop etc – the pads and encoders and faders we'll get into that in just a moment but anything that involves a button press needs to be on the same Channel I haven't quite figured out how to put them on separate channels but they need to be on the same channel now if you're not familiar with media channels I'll show you where you can see your channel here now these gap buttons are all set on the same channel there are sixteen channels you can use any of them one through to sixteen very peculiar thing about this is that it's 0 is 1 1 is 2 2 is 3 and on and on and on so in this case if it's set to 0 that is on channel 1 we need to be in my case on channel 10 so I'm going to switch that to channel 10 and the message type as so this is in relation to the type of note that you are sending down that channel now it can either be a note or a CC value CCS standing for control changes normally relate to things like our encoders there you go the message type is a controller and on my pad you can see here we're getting note on and often after touch because these are sensitive so the next thing we want to pay attention to is our controls we've got place stop record tap tempo nudge up and down for the tempos undo redo loop punching punch out overdub metronome and oh no no no no no and I'm gonna leave that up to you to decide what you're going to map out there's quite quite a lot of things that you can map here it's just kind of endless it's anything inside of your Ableton interface you can essentially map this one been quite important and I am going to map this one here the session navigation which is that red box the colorful box that I was speaking about just earlier I'm going to set these two four controls so to do that we're going to replace any values with negative ones now you remove the one and the negative side of the – and we're going to replace that with the data or the number value for our buttons so I'm going to use these four pads we've got 44 45 46 and 47 nice and easy so let me just do that I'd be careful with the spacing here if you mess up the spacing you may find yourself in trouble the script may not work and I'm going to map the navigation track navigation so this changes the track focus and here on the right you've got scene launches so this is the scenes from 1 down through to 5 now I imagine you can actually set this to scene 6 7 8 and onwards I haven't yet experimented but I had assumed we would put it in like this and it should essentially work the same now I am NOT going to set any of those we will move on this is the clip note map and we might I'm going to set a few of these just as an example and this is the very familiar grid like view for a session view we will set just a few of those right this one here will select the master track and bring that into focus and now we move on through to our track stop our mixer controls will be on shortly but we've got a track stop I'll track select a track track mute let's just set a track mute for just for the sake of it tract solo is here and track record so this will do one through to eight now these will move relative to that colored box it's if you move the box using our session navigation controls that we mapped earlier just here if you move them right then they will move relative to those and the same applies for encoders like sends returns your volume controls and pans as well next we're looking at the drum pads so you can see here we've put out drum pads I'm going to map one of these just for the sake of it but this is the same shape and this also has a channel set so we will set that channel 10 moving on we have the slider channel slider channel needs to be set the same channel as your encoders or faders or sliders my channel for the my encoders is set to number one so I'm going to go ahead and leave that at zero tempo top and bottom I believe controls the lower limit of the tempo control option here which I'm going to set to number seven and essentially that code that encode is limit is all the way down to zero and all the way as high as 180 and it can go all the way from zero through to 999 we've got our master volume cue level cross fader and then we have our track volumes so I'm just going to map a few of these make sure you turn your knob so you know what numbers you're working with if then got your live your sins from a B and C I do imagine that if you added in D E or higher just underneath making sure you keep this warm at you probably be able to map more sends controls and lastly here at the bottom you've got the parameter controls now this is I think just another name for the macro controls you need to map all eight of them otherwise none of them work so you can't just met one and three and four you need a map one through to eight for them all to work and you can bank between those using I believe the device Bank are left as three the device Bank buttons here are left and right the device Bank and device nav left and right as well you can use that to switch the macro controls around so we are then going to save that close her down and we are done in terms of editing the next thing I need you to do is make a copy of this because you do not want to have to lose your MIDI mappings now you can just copy the top three which is fine but I would recommend just copying the whole folder command D will get you there if you're on a Mac now next we're going to open up the Applications folder you can go to go and then applications different on a Windows computer but it should all be relatively the same we're then going to check package and package contents do a right click there and that will get you in side of Ableton into contents app resources media remote scripts and we're going to drop our arturia beatstep script into the folder there now we're going to launch Ableton Live 9 I keep this folder open what you'll see here is some pyc files being created in conjunction with all the files you can see here this C I believe is for compiled where you we were editing the D compiled versions of the script now I'm going to get you to head back into lives– preferences and back into link midi under the control surface option we are going to choose our controller name at area beatstep close that off you can see the box that I was talking about this one's red I think as you have more they're different colors and we will give our control at go just to show you that I don't have anything mapped and you can see here we've got our session navigation for up and down which is great we got our first volume control here I'll bring up MIDI monitor first volume control here I just set to number 10 if we move a house session across and move the same knob number 10 you'll see this one move up and down just great then got our track selection here which is awesome next thing to take note of our our session launches here our mutes and on our drum kit I only set one which is a G I believe so on that it should just play as normal so that is it if you have any comments or additions or you get really really stuck please leave a comment and I will try and get back to you I would love to see some modifications to the script and see if anyone can add any new I'm particularly interested in seeing if it's possible to add an extra row I might give that a go the next couple of days and leave it in the comments if it's successful and update the script as well thank you and I really hope this helps your rail workflow and your Sam


  1. Hi there, I don't suppose you have done any further developing on this or other scripts have you? I am looking for a way to map buttons across 16 different channels on a DDJ and not just one. I know it's 100% possible but I am not sure how. I was able to download a remotify script that sends to multiple channels however I can't figure looking at the code how to change your script to work in a similar fashion. I have a rather basic understanding of programming but not quite enough at this time to make complete sense of things.

  2. Dude this is excellent, you helped me out bigtime! Building my own midi controllers with Arduino's, this allows me to build some really Ableton orientated controllers, really, thanks

  3. hi there i have try this but with no luck im trying to update an APC_64_40_9-master remotescrip to work on live 9.7.5 or maybe even 10 can you help ???? i know nothing about code

  4. I am wondering if you have any ideas as to why when I map my session navigation to my Lemur, I seem to have to press the button twice to get it to move the blue box? I tried both CCs and note on messages.

  5. Now that I have the Ableton Live 10 Beta, I'm gonna work on getting this script to work. Thanks to all who have found this useful. I hope one day Ableton will just release an in app tool that let's you customise remote mappings without the hassle of editing lines of code.

  6. Hi, congratulations for this tutorial, it helped me a lot!! But… only 1 question….how can I map 24 parameter knobs in only one bank? I have a BCR2000 and I would like to have the 24 encoders in the same bank like BCRXL does.
    Thanks a lot!!

  7. I'm trying to do this on the RemoteSL MKii but I'm having trouble knowing the exact name because it has 2 ports. Anyone with an SL that can help me find what name should I use? I've already tried "RemoteSL" ,"SL_MkII_(Port 2)", "SL_MkII_(Port 1)" still it isn't working. Thanks

  8. Great video! thanks. in the script its writen down that to make a faderqknob and a button to work simultaneously, their midi channels must be different. is that what you asked about? cause i manage to achieve this with the korg kontrol editor.
    thanks again! halped alot

  9. Great tutorial, but in your updated ReadMe for resizing the red box there are some errors (you label x as horizontal in one place, but then label x as vertical in another place) and I can't figure out which is the right way to edit the scripts to resize, I'm trying to get it to a 1×4. Any help would be great.

  10. Hello Star Child,
    I've been banging my head against this problem for a while now, maybe you have some insight that I missed.
    I'm trying to use an M-Audio Code 49 as my midi-controller/keyboard with Ableton Live 9.7.3 on windows.
    I started with M-Audio's instructions using Mackie instructions instead of MIDI, and I got the faders to work as I want, but the Encoders default to controlling the pan of the tracks, when I want the "blue hand" macro control.
    When I couldn't find any work arounds there, I tried editing UserConfiguration.txt inside of User Remote Scripts. I got the script to show up correctly, but the faders and encoders don't auto-map like they should. I can manually map them by hand, but this makes the "blue hand" impossible.
    Then I found this video and I was certain that it would work, but I'm running into the same issue. I followed your tutorial, and the script shows up exactly as it should, and the red box shows up, but the controls still don't auto-map. I can manually map them, but the knobs have no effect on the macro controls selected with the blue hand.
    I've confirmed that the cc numbers are correct through an external midi monitor, M-audio's preset programmer, and the midi shortcuts that I could make by hand in ableton, but the blue hand still doesn't work.
    I honestly don't know where to go from here.
    I figure you're probably pretty busy, but if you have any ideas I'd much appreciate them.


  11. Hello Starchild,
    I'm a guitarist and big Abletonfan from germany.
    I have a footpedal with 8 knobs and one pedal to control Ableton via your script.
    So far, now the problem: I have no idea about Python…is there a possibility to control the 8 Macros of a rack with one Pedal, which I navigate through my foothpedal (buttonporess to switch between the 8 Macors)…
    This would be fantastic, because I don't want ro use the mouse while playing guitar…
    Thx for your help….

  12. Apologies for this noob question:

    I copied my folder with edited .py scripts to App-ResourcesMidi Remote Scripts, and .pyc files are formed when I open Ableton, but Ableton doesn't see my new scripts in Prefs/Link-Midi dropdown menu.

    I replaced all instances of "YourControllerName" within the scripts, filename and folder name… is it possible I missed something else that Ableton needs to recognize the scripts?

  13. this is brilliant! thanks a lot! just one question: is there anyway to set a value for clips that are not triggered? a midi value for playing and a different value for stopped, maybe? I've seen things like that in other scrips, but couldn't find it in yours.

  14. is there an option for setting locators and skipping them? I have a Nanokontrol and try to map those buttons. It's already mapped in the native Mackie Kontrol script, so it must be possible.

  15. Almost perfect for what I need!

    I'm trying to write a remote script for Novation Dicers, which have 3 banks of 5 each (plush shift-hold if I can figure that out…) BUT the first one sends C3-E3 (channels 11/12/13) and the second dicer sends C3-E3 (channels 14/15/16) so I have 6x C3!! If I can't use multiple channels, these things are worthless!

    Any luck making progress with multiple midi channels?

  16. can you tell me how:
    1) i can assign more than 1 control to a macro? (midi mapping will replace it in ableton)
    2) how i can use 2 notes to TURN ON / OFF something seperately and not toggle (like activating a track for example), coz i cant use my footcontroller with this toggle shit on stage where i dont see what is happening on screen
    big thanks

Leave a Reply

Your email address will not be published. Required fields are marked *