Ableton Live’s MIDI mapping is an essential tool, but it can be confusing to a new comer of Ableton or even music production in general.
Today we’re going to go through everything you need to know in order to understand this powerful feature.
From explaining how MIDI works, setting up, to advanced techniques for creating sets of MIDI mappings inside Ableton Live versions 9, 10 and 11, which you can use again and again in all of your projects!
If you’ve came here looking for an answer to why Ableton MIDI mapping is not working for you, check the step in the how to set up your MIDI controller section.
What is MIDI?
If you’ve been producing or performing music for any amount of time, I’m sure you’ve heard the term “MIDI”. But to make sure we’re on the same page, let’s just quickly go over what MIDI actually is.
Originally developed back in the 80s, Musical Instrument Digital Interface (or MIDI for short) is a communication standard for musical hardware which allows separate pieces of equipment to “talk” to each other by sending performance data back and forth.
MIDI doesn’t actually send any audio, just signals or “MIDI messages” which a piece of software (in our case: Ableton) will interpret and use to either generate sound using a MIDI note message, or control internal functions of the software – i.e. move the master volume slider when you turn a knob on your equipment.
This is why MIDI keyboards and controllers don’t produce any sound, their use is to simply interact with the software by sending MIDI messages.
What is MIDI mapping?
The ability to MIDI map is one of the most useful features in Ableton Live. Rather than being tied to your mouse and computer keyboard, MIDI mapping enables you to connect a performance friendly instrument to your computer such as a MIDI piano keyboard (i.e. Akai LPK25) or MIDI controller (i.e. APC40 MK2) and control functions inside Ableton.
This way of working is much more natural for music creation and performance, plus it’s a lot more enjoyable than being hunched over a computer screen for hours, clicking away.
Ableton’s built in MIDI mapping engine allows you to select what each button/knob/pad on your MIDI controller/keyboard will control inside Ableton when you press/turn/tap it, allowing you to take any controller or keyboard which sends MIDI data, connect it to Ableton and create a set of custom controls, specific to your own unique workflow requirements!
For example, lets say you want to focus your attention on mixer controls, you can map your MIDI controller to functions like track volume, panning & mute. Or if you want to control the various parameters of a virtual instrument or device then you can map it to those.
We will go through the steps involved in creating MIDI mappings but first and most importantly, you need to make sure that your equipment is setup correctly inside Ableton.
How to setup up your midi controller / keyboard ready for midi mapping in Ableton Live
Setting your equipment up correctly is super important. It’s actually a very simple process but this is often the point where people not familiar with the process are left wondering: why is Ableton MIDI mapping not working? Below we will explain how to setup your MIDI device correctly.
Alternatively, if you have your MIDI keyboard setup but can’t hear sound, read our article on having no sound in ableton live and how to fix it.
1. Connect your MIDI keyboard/controller to your computer
First things first, connect your MIDI equipment to your computer. This will be via USB which you can plug directly into the computer’s usb port and you’ll be ready to go.
Some people use a piece of equipment called an audio interface as a hub between the computer and equipment. An audio interface is normally used for connecting analog gear such as microphones and other instruments to a computer but an audio interface can also act as an external sound card.
If you’re experiencing latency issues between your equipment and computer then using an audio interface can help remedy this.
Once connected, fire up Ableton Live.
2. Set your preferences
Go to the preferences menu inside Ableton. In mac, this is found inside the Live menu and on Windows you’ll find it inside the Options menu.
In the preferences menu, click on the “Link Midi” tab and look for the MIDI Ports section. If you have connected your midi controller and Ableton has recognised it then you will see its name listed here twice, both as an input and output option.
You now just need to turn Track and Remote on for both of these and close the preferences menu. That’s all there is to it and should only need to be done one time, your equipment is now ready to be MIDI mapped!
How to MIDI map a control
Ableton’s midi mapping engine is simple to use, here are the steps you need to create a mapping.
1. Turn on MIDI Map Mode
The first thing you need to do is put Ableton into MIDI map mode. To do this, find the MIDI Map Mode Switch (labelled MIDI) which is located in the top menu bar towards the right hand side.
When you click this, you’ll notice a lot of things turn blue. This means you’re in mapping mode and Ableton is waiting for you to add some mappings.
2. Select a parameter you want to control
Everything displayed in blue is MIDI mappable, which as you can see is quite a lot! click a control you want to map and you’ll see that it becomes highlighted in color or a border appears around it.
3. Attach it to a physical input on your controller/keyboard
Now turn/twist/press the physical input on your MIDI controller/keyboard that you want to control it with and you will see a value appear over the control. This tells you that a MIDI mapping has been attached to the parameter.
4. Test your mapping
To test that the control was mapped correctly, turn off MIDI Mapping Mode and move the physical input on your MIDI equipment. If all went well then the corresponding parameter inside Ableton will also move / change.
That’s really all there is to it, to add more mappings simply turn MIDI Mapping Mode on again and create some more.
Managing MIDI mappings
You can see a full list of all the mappings you have created inside the Mapping Browser. After turning MIDI Mapping Mode on, the main browser window on the left hand side automatically switches to the Mapping Browser. So just ensure that you have this viewable by clicking the arrow near the top left of the screen so that it points to the right.
To delete a mapping, you can either select the parameter directly or in the mapping browser and press delete on your computer keyboard.
Tweaking MIDI mappings
In the Mapping Browser, there a some controls which can be tweaked depending on what they are.
Track Activator Buttons (also known as mute buttons) can be inverted, meaning if you use a toggle control on your controller, you can reverse it so that when your controller toggle is on, mute will be off and vice versa.
Device parameter mappings have 2 extra options which allow you to specify min & max percentage values. For example, you can tell Ableton, to only turn a device parameter to 70% when the physical knob on your MIDI equipment is turned all the way to right.
How to Save MIDI mappings in Ableton Live
The obvious way to go about saving your mappings is to simply save your Ableton project, then whenever you open that project again your mappings will be there and ready to go.
This way of saving mappings has a major drawback, you need to re-map everything each time you create a new project, this isn’t really the best workflow and needing to re-map all of your parameters with each new project can get very time consuming. A great way to save your mappings which can be used in all of your Live sessions is by creating a control surface script (also known as MIDI remote scripts). You can create them in just a few minutes using this free Ableton script building app.
However, if you just want to stick with using Live’s internal mapping mode, there are a couple of ways you can get around this problem of saving MIDI mappings with varying degrees of success.
1. Save your mappings to a blank template
Rather than starting with a completely blank project each time, this method works by creating all of your MIDI mappings in a blank project and saving it.
Whenever you start a new project you should then open this specific project as your starting point and go from there.
Unfortunately If you forget to use it as a starting point and get deep into a new project before realising your mistake, then you’re out of luck, you’ll need to re-map everything manually.
To avoid your inevitable forgetfulness, you can set it to be used automatically whenever you start a new project. To do this, use the “save current set as default” button found inside the preferences > file / folder.
2. Save instrument rack mappings
If you only want to save mappings for devices and VSTs (Virtual Studio Technology) then its possible to export these separately for re-use in any project.
To do this, you should first ensure that your device is inside an Instrument Rack, then you can drag and drop it into the browser window where it will be saved as a .adg file.
An ‘adg’ file can be pulled into a project with all midi mappings instantly available. This method is limited to instrument racks only, saving tracks in the same way doesn’t save mappings.
Here’s a great video which quickly walks you through this process
https://www.youtube.com/watch?v=ZNGPEcb0k0c
3. Use a MIDI Remote Script
MIDI Remote Scripts are similar to MIDI mappings but one of their big bonuses is they’re totally separate from your projects. You can load one at any point from the Preferences menu and all of the mappings contained in it will instantly automap to your controller/keyboard.
Any equipment which has its own custom set of Ableton functions that automap to the controller, will most probably be using a Remote Script to achieve this.
Ableton provides a large collection of Midi Remote Scripts purpose built for specific controllers. Inside the ‘link midi’ tab of the preferences menu, you’ll see the title ‘control surface’. You can select upto 6 different control surface scripts.
You can create multiple Remote Scripts and switch between them whenever you need to, or even add shift buttons to give each control on your equipment multiple functions.
As well as being able to do everything that regular MIDI mapping can, MIDI Remote Scripts have the ability to dig deep into the Ableton Live API in ways which the internal MIDI mapping mode can’t.
For example, with MIDI Remote Scripts you can control anything on the currently selected track inside Ableton, this includes volume, sends, mute, panning etc. Just create one set of mappings and control any track in your project.
Also, if you’ve ever used a MIDI controller such as an APC40, you’ll have seen that it puts a red outline around an 8 by 8 grid of clips inside Ableton, similar to the one in the picture below. With this you can control the clips and tracks contained within it as a group.
Plus you can move the position of the redbox around your project, giving you access to multiple groups of tracks.
The drawback of these scripts is how complex they are to write, you will probably need to be an expert in coding python which has always been the barrier holding alot of people back.
You can however, generate these scripts automatically, using our app which you can find here. It contains a massive selection of dynamic MIDI mappings for building the perfect setup for your MIDI controller or keyboard. Plus its all done from an easy to use point and click interface, no coding required. Have a look at this tutorial on creating a midi remote script using the remotify app
How To Delete MIDI Mappings In Ableton Live
Deleting MIDI mappings from an Ableton Live session can be done by firstly switching MIDI Map Mode ‘on’. Once this is on, then you can delete a MIDI mapping be either right clicking the parameter and selecting ‘delete’ or via the browser (which will display to the left of your Ableton Live session).
See below for details on both of these methods. For details on how to turn MIDI Map Mode on/off, see the section above how to MIDI map a control.
1. Right Clicking The Parameter To Delete The Mapping
With MIDI Map Mode on, you can right click any mapped parameter and select ‘delete mapping’.
You can see which parameters are MIDI mapped as they will have 2 numbers with a forward slash displayed over them i.e. 13/3.
This indicates the MIDI channel and MIDI value which the parameter is mapped to.
2. Deleting The Mapping Via The Browser
The browser can be shown/hidden by clicking the arrow icon near the top left of the screen.
Once the browser is displayed, turn the MIDI Map Mode button ‘on’. Then the browser will change to ‘MIDI Mappings’ view, which displays a list all mappings created in the session.
You can identify what each mapping does by reading the ‘Path’ and ‘Name’ columns.
The ‘Path’ column tells you the location of what is mapped, and the ‘Name’ column tells you the name of the parameter.
To delete any mapping listed in the MIDI Mappings area, click it and then hit delete or backspace on your keyboard. Or open the ‘Edit’ menu and click ‘Delete’.
Full list of Ableton Live MIDI Mapping options
Tap TempoAbleton will automatically change the song’s bpm and all warped audio clips to match the tempo at which you tap this button. | |
Tempo (MIDI continuous controller)Set the current song’s current tempo using a MIDI CC style control. | |
Tempo nudge downTemporarily decrease the the tempo of the song. This is helpful when attempting to syncronize your song with another source such as a live musician. | |
Tempo nudge upThe same as Temp nudge down but this button temporarily increases the song’s current tempo. | |
MetronomeTurn on and off the Metronome. | |
Quantization MenuChoose the global launch quantization. This can be done with a button mapping (each press will move the quantization selection down one) or with a portimento/knob/endless encoder. | |
Follow on/offTurn follow on and off, when on, the display will scroll along during playback and keep the song’s current position visible. | |
PlayStart playback of the song. | |
StopStop playback of the song. | |
Arrangement Record Button on/offTurn arrangement record on/off, when this is on it will record into the arrangement. | |
Midi Arrangement Overdub on/offWhen this is on, existing notes in MIDI clips in the Arrangement will be mixed with, rather than replaces by, newly recorded notes. | |
Automation Arm on/offWhen turned on, any parameter changes you make, will be recorded the session clips. This is a great way to record varying versions of a clip directly in the session view. | |
Re-enable Automation on/offWhen you press this, any parameters that are currently being overridden in the arrangement or session clips will be re-activated. | |
Session Record Button on/offThis toggles between playback and overdub for any playing clips which are currently playing in armed tracks. In MIDI clips, notes and automation can be overdubbed where is only automation can be overdubbed in audio clips. | |
Prepare Scene for new recordingThis will stop playback for all clips in armed tracks and start a new recording for each of them in a scene where new clips can be recorded. It will create a new scene if necessary. | |
Punch In Switch on/offWhen you activate this, it will prevent recording in the arrangement view prior to the “punch-in point”. | |
Punch Out Switch on/offJust like the Punch In Switch, when activated it prevents recording after the “punch-out point” in arrangement view. | |
Loop Switch on/offTurn the Arrangement Loop on and off. | |
Draw Mode Switch on/offThis turns draw mode on and off which is used inside Clip View for drawing MIDI information and automation curves inside clips. | |
Track SelectMap buttons to the title bar of individual tracks, this will select the track when the button is pressed on your controller/keyboard. | |
Clip Slot SelectMap a button to a specific clip slot. If the clip slot is empty and the track is armed, clicking the clip slot will begin a recording. If the slot contains a clip then the clip will begin playing. When it will begin playing is based on its quantization settings. | |
Clip Stop ButtonStop the clip that’s currently playing in the track. | |
Track LaunchThis will launch the clip in the currently highlighted scene. | |
MonitoringYou can switch a track between 3 monitoring settings. When this is set to “on”, it will play any externally connected signals (or other tracks) through its own mixer and devices. You can also use MIDI from other sources to play instruments / drum racks that are on the track. When set to “Auto” it will only do this when the track is armed. “Off” means that it will only use its own clips or instruments as the sound source. | |
Send (MIDI continuous controller)Set this to a knob/endless encoder etc type control on your MIDI equipment to adjust the track’s contribution to the corresponding return track’s input. | |
Track Pan (MIDI continuous controller)Adjust a specific track’s position in the stereo field. | |
Track Volume (MIDI continuous controller)Adjust the output signal of a specific track in your project. | |
Track Activator / muteActivate this button to hear the output of a specific track or disable it to mute the track. | |
Solo/CueThis switch has 2 different uses. When set to ‘Solo’, turning the switch on will mute all other tracks except for this one. When the switch is set to ‘Cue’, enabling the switch will send the track’s output to the channels selected in the Session mixer’s Cue out chooser. Cue is useful in a DJ style setup for preparing clips using headphones. | |
Arm Session RecordingTurning this on will record-enable a track’s clips. Armed tracks record signal set in the Monitoring settings for the track. | |
Scene LaunchSet a button on your equipment to launch all clips in a specific scene. | |
Stop AllThis will stop all clips currently playing in your project. When they stop is based on the global quantization settings. | |
Back to ArrangementUse this button to make Live play the contents of the Arrangement view. Any changes you have made in session view will stop. | |
Scene Up & DownMove the selected scene up & down | |
Preview/Cue Volume (MIDI continuous controller)Adjust the volume of the preview/cue dial. Any tracks which have ‘cue’ turned on will be affected by this. | |
Crossfade AssignSet a button on your controller to this and loop through 3 settings which determine how a specific track is affected by the crossfader. If both A and B are off then the crossfader has no effect. If A is on then the track fades out as the crossfader moved right across its center position. If B is on then the track will fade out when the crossfader moved across the center to the left. | |
Crossfader (MIDI continuous controller)You can set this to a slider control on your MIDI instrument for a smooth fade from left to right (see crossfade assign) or you can map buttons to the left and right positions of the crossfader for quick position toggling using buttons on your equipment. | |
Set / Delete LocatorAssign this a button on your controller and you can drop locators in your arrangement at any point during playback. | |
Previous Locator & Next LocatorJump to the previous locator / start of the song and the next locator / end of the song. | |
clip viewClip mappings aren’t clip specific. They usually apply to whichever clip is selected. | |
nudge backward(The left button in the image) Set this to one of your buttons/keyboard keys and you can jump backward in the playing by the amount set in the global quantization. | |
nudge forward(The right button in the image) The same as nudge forward but jumps forward in the playing clip based on the global quantization. | |
clip scrub control (MIDI continuous controller)(The middle button in the image) With this set to a control on your equipment you can scrub the clip play position forward and backward. Think of it as the same functionality as a jog wheel on a DJ Controller. | |
clip quantizationChange a specific clip’s quantization setting. | |
Clip Transpose (MIDI continuous controller)Adjust the pitch of the clip in semitones | |
Clip Gain (MIDI continuous controller)Adjust the clip’s playback volume | |
set start & set end(The 2 set buttons in the image) Assign these to button’s or notes on your equipment to set the start and end markers at the current play position. | |
start & end (MIDI continuous controller)(The 2 sets of 3 boxes in the image) You can scroll the start and end positions in the clip to specific values. | |
loop switchTurn on and off the clips loop switch. | |
set loop position(The top set of 3 boxes in the image) Set the loop position, this can be done while the clip is playing | |
loop position (MIDI continuous controller)Move the clip’s loop position | |
set loop length (MIDI continuous controller) | |
loop length (MIDI continuous controller)(The bottom set of 3 boxes in the image) Select the length of the loop inside a clip | |
Midi step input left & Midi step input rightSet these to buttons or keys on your controller to move a clip’s insert marker to the right or left, one step at a time. | |
midi editor previewWhen enabled, this will allow you to listen to all changes or modifications made to MIDI notes as they’re created and moved. | |
Device SelectSelect a specific device on any track in your project. | |
Device ActivatorActivate or deactivate a specific device in your project. | |
Device Parameter controls (MIDI continuous controller)Map controls to specific device parameters. |