Follow Brian Li (@DecryptoBL) on Twitter.
Follow Brian Li (@bwhli) on Instagram.

How to Use MainStage to Make MIDI Mappings in Ableton Live

August 25, 2017

MIDI map in Ableton Live with MainStage.

In this tutorial, you’ll learn how to make MIDI mappings in Ableton Live without a hardware MIDI keyboard controller. To accomplish this, we’ll be using Apple MainStage’s external instrument channel strips to communicate with Ableton Live via MacOS’s built-in MIDI IAC Driver.

Create an IAC MIDI Port

MacOS ships with a handy virtual MIDI device called the IAC Driver. It enables you to route MIDI data between software applications without the need for a physical loopback through a hardware MIDI interface.

To access the IAC Driver settings, navigate to ~/Applications/Utilities, and open up the Audio MIDI Setup application. Press ?2 to bring up the MIDI Studio window.

Next, double click on the IAC Driver icon.

Click on the checkbox next to “Device is online”, and then create a new port by clicking on the arrow next to “Add and Remove Ports”. You can name the port whatever you want, but I named mine “TO ABLETON LIVE”.

Create a MainStage Template

Next, we have to create a MainStage template to send MIDI data to Ableton Live via the “TO ABLETON LIVE” IAC Driver port. To do this, we’ll use external instrument channel strips with the correct MIDI port and channel assignments. After these channel strips are set up, all we have to do is click on MainStage’s on-screen keyboard to send MIDI note data to Ableton Live.

To keep things streamlined, just create a layout containing a keyboard with 127 keys. We don’t need any extra pedals or other screen elements because we’re only concerned with transmitting MIDI note data to Ableton Live.

Next, create a patch with an external instrument channel strip with the following settings.

This is what the external instrument channel strip should look like.

Next, copy and paste the patch fifteen times, and change the channel setting on each patch’s channel strip until you have a patch for each of the sixteen MIDI channels. In the screenshot below, the external instrument channel strip in my Channel 8 patch is set to output on MIDI Channel 8.

If you don’t want to go through the trouble of creating a template, click here to support me on Patreon. You’ll get access to the MainStage template used in this tutorial and other exclusive content!

Next, navigate to Ableton Live’s MIDI preferences, and activate the Remote switch for the “TO ABLETON LIVE” MIDI input. This setting allows Ableton Live to receive MIDI mapping data from other sources.

You should now be able to use MainStage’s onscreen keyboard to make MIDI mappings in Ableton Live.

You may also be interested in…

Hi, I’m Brian and I’m an electronic music designer for Broadway shows and other theatrical productions around the world. If you enjoyed this article, consider supporting 441k on Patreon! In addition to a special mention on, you’ll also get access to my personal templates, workflows, and other nerdy things. Thank you!


Find me on Twitter, or send me an email.