How to make your first midi remote script

by John Carney last updated Aug 27, 2017
How to make your first midi remote script

Today I’m going to take you step by step through creating your very own midi remote script.

Don't worry, you want need to write any code yourself, we will be doing this inside our easy to use midi remote script creator, which automatically writes the custom midi remote script code for you.

At the end of this simple tutorial, you’ll have a working script for your midi controller that will control the volume on ‘track 1’ of your Ableton session view.

ableton track 1 volume

Sounds a bit simple?

Yes it is but it’s actually a perfect starting point, after you’ve followed through this tutorial once, you’ll then have the knowledge to easily extend your script from there and add all the functionality you’ve ever dreamed of.

The important part is first being able to create a working script.

But what’s the point of creating a midi remote script in the first place?

Basically, you’re re-programming your Midi Controller to suit your own individual needs rather than what the manufacturer thinks you need.

… and without needing to write a single line of code as well!

Ok, so lets get started…

Firstly, what browser are you using?

Due to its implementation of ‘web midi’ I’d recommend using the Google Chrome Browser as you’ll then be able to take advantage of our ‘midi learn’ feature.

google chrome logo

(Chrome is free, you can download it from Alternatively, Opera is another option if for whatever reason you don’t want to use Chrome).

If you decide to proceed without using a web midi enabled Browser, later in the tutorial you’ll need to find out each individual midi message that your midi controller sends out which is borrrring.

I won’t judge you for using other browsers of course :)
(*I will)

Next, connect your chosen midi controller to your computer.

Make sure you’re registered & logged into Remotify at

Once logged in, go to the ‘app’ page

Ready? great!

The first page you see is the ‘List’ page, here is where all of the ‘mappings’ you’ve created for your midi remote script are listed.

What are mappings?

Mappings are the individual controls contained within a script, for example, a ‘mute’ button would be a mapping and macro knob on a ‘device rack’ would be another.

a midi mapping

They’re the 'bricks' and the script is the 'house'.

no house yet

As we haven’t created any mappings yet, it’ll be empty…so no house yet!

no house yet

Time to create the first mapping for your script:

Click the big blue button labelled ‘add a new mapping’ which will take you to the ‘mapping type’ page. This is where you select the type of mapping you’d like to add to your script. 

add a new mapping

We’re going to create a mapping to control the ‘Volume’ on ‘track 1’ inside Ableton, so look for the row labelled ‘Mixer’ and click the ‘Volume’ button.

volume mapping type button

The next page you see (known as the ‘Mapping details’ page) is where you enter all of the information for the mapping that you’re creating.

In the box labelled ‘Name’ give your Volume mapping a name, it can be anything you like (i.e. bob smith) but I’d recommend something descriptive, so enter ‘track 1 volume’ in the box.

Next is ‘Track Type’, there’s 2 options you’ll see in here, ‘specific’ & ‘master’. If you select ‘specific’, this means you want your mapping to apply to a specific track inside Ableton.

track type

We want to assign our volume mapping to track 1, so select ‘specific' if it’s not already done.

If you were to select ‘master’ here then your mapping would control the volume on the master track.

You should now see another select list appear titled ‘Specific Track Number’, select the track number you want your mapping to apply to - we want track 1.

In the ‘pro’ version you’ll also see an option called ‘selected’, this is for controlling the currently selected track inside Ableton. A great way to control every track if you have a small midi controller with only a handful of inputs available

On to the right side column now, named ‘midi controller values’:

Up until now you’ve been telling Remotify what you want to control in Ableton - in our case, the volume on track 1. Now we need to tell it which input on your midi controller you want to use for controlling the track 1 volume control.

and there are 2 ways to do this...

1. Midi learn (the quick way)

Remember at the start of the tutorial I recommended you to use Google’s Chrome browser?
If you took notice of me then its time for you to shine my friend!

Click the yellow ‘midi learn’ button and you will instantly see details of the mdi controller you’re using appear underneath.
For midi learn to work, ensure that "connection" says "open".

midi learn

This means Remotely has successfully detected your controller and you’re ready to rock.

Now twist / push / pull an encoder / fader etc on your midi controller and you will instantly see the values inside the ‘midi controller’ box change. Try moving some others on your controller and the values will keep updating.

midi values

What’s happing here? - Remotify is automatically inputting all midi information needed to assign a control on your device to a function inside Ableton.

When you’re finished playing with it, move the actual control you want to use so that Remotify inputs the correct values, then hit ‘Save’.

2. Manual midi mapping (the slow way)

If you’d prefer to manually input midi information rather than using ‘midi learn’ (maybe you’re a masochist?) this is certainly possible.

You just need to select the correct information for the 3 select lists - midi channel, midi type, midi value.

Try referring to the user manual of your midi controller for midi data info or google its schematics. I can also recommend a free application called ‘midi monitor’ (mac) or ‘midi ox’ (windows) which work in a similar way to our ‘midi learn’ feature.

You’ve successfully created the first mapping for your script, hooray!

After hitting save, you’ll arrive back on the ‘list’ page, which is where we started.
 But now you should see the mapping you’ve created in the list -

The first brick has been laid for your house!

midi list with volume mapping

Now let’s turn your mapping into a working midi remote script:

Rather than creating a whole bunch of mappings, we’re going to cut to the chase and create a remote script.

It will only contain our volume mapping but that’s enough to test inside Ableton.

This is a good practice when you first start out as its easier to identify a problem if your script doesn’t work (test early & test often!).

Scripts can break for a variety of reasons, i.e. code error, incorrect Ableton midi configuration or even hardware issues and creating a bunch of mappings right away only increases the difficulty in tracking the problem down.

Give your script a name:

You can name it however you like (ensure the name begins with a letter and not a number or anything else) but something I do is to prefix my scripts with the word 'remotify' so I can easily find my custom scripts in the ‘midi remote scripts’ folder of Ableton at a later date.

We will call our script ‘remotify volume control’

script name

Hit the ‘Download Script’ button

Your script will now be automatically generated and downloaded to the ‘downloads’ folder on your computer.

If this worked successfully, a green message box will display at the top of the Remotify page which says ‘Your Remotify script was successfully generated!’

If it couldn’t be downloaded, a red message box will appear detailing what the problem is. Follow the instructions then try downloading again.

Add your custom script to Ableton’s own list of ‘midi remote scripts’

Now we have our ‘remotify volume control’ script on our computer, we need to put it in to the folder which contains all of Ableton’s midi remote scripts.

We have a separate page which explains how to install your midi remote script into Ableton.

Follow the steps on that page then come back here...

I’m waiting…..

Yay, you’re back!

if you’re reading this then you have your midi remote script successfully installed into Ableton and have assigned it to your midi controller.

All that’s left is to test out your volume mapping:

Make sure track 1 in Ableton has the track volume slider displayed (blank midi tracks don’t display it)

ableton volume

...and finally

Move the input on your midi controller which you assigned to the volume control.

If you see the volume slider move inside Ableton then you’ve successfully created & installed a working midi remote script, woohooo!

Yes it’s a script which does only one thing (controls the volume) but to add more mappings (as many more as you like) is the exact same process.

The most important thing is that you have created a working script and now you can build on it. Maybe you could now add a mute button on track 1. To do this simply scroll back up this tutorial to where it reads 'Time to create the first mapping for your script' and follow the process again but this time select 'mute' instead of 'volume' on the 'mapping type' page.

If your script failed to work, please have a read through our page on how to fix a broken remote script.

In our next tutorial we'll show you how to import and extend a pre-built Remotify midi remote script.

Create your own perfect Midi Controller integration for Ableton

Become a Pro Now