Using Ableton Live to drive Logic Pro X

This is another scratchpad post to remind myself how I set up two of my favorite digital audio workstations (Ableton Live and Apple Logic Pro X) to run at the same time.  I like facets of each of these systems and want to have the best of both worlds — the live-performance flexibility of Live and the instruments and signal processing of Logic.  In some perfect future, Logic will run as a Rewire slave and a fella won’t have to do all this goofy stuff.  Until then, this is a set of notes on how I do it.  Your mileage may vary.  I’ll will try to respond to your questions as best I can (click HERE to contact me) — but I’ll be sluggish, don’t count on a reply in anything less than 24 hours.

Overview

The goal is to use MIDI coming from Live to control instruments in Logic, and get that audio back into Live.  This is where you’re headed and this diagram may be all you need.

Update – March, 2017

This revised version of the post…

Changes the audio transport mechanism from Soundflower to Loopback (by Rogue Amoeba Software).

Soundflower is no longer being actively supported and I haven’t been able to get it working properly since OSX 10.9.  Loopback is great stuff and I heartily recommend it — but it isn’t free.

Revises the Logic and Live templates to reflect this change in audio processing.

Advises against using this approach if your Live workflow includes controllers such as Ableton Push or NI’s Komplete Kontrol.

Remember, all this post does is describe how to convert Logic into a software instrument that’s available to Live (as if Logic were a Rewire slave to Live).  There is a strong presumption that Live is the “Master” and Logic is the “Slave.”

Logic breaks controllers like Push and Komplete Kontrol because it grabs them away from Live as it starts up.  Komplete Kontrol works fine under Logic, but it’s completely disabled in Live (except for MIDI).  Push shuts down entirely as soon as Logic is running.  Rats.

If you rely on controllers that don’t use MIDI to communicate with the DAW (like Push) my suggestion is to use this dual-DAW configuration in a separate (controller-free) session, capture the Logic sound in Live audio tracks, dump out of Logic and complete your work in Live-only sessions with your controllers back in the workflow.

Resources

16-channel project templates for Live and Logic

Here are links to two project files which you are welcome to try out as a template.  They’re set up to do 14 channels of audio and MIDI.  Why not 16, you ask?  Because this template includes a B3 organ instrument in Logic, which consumes 3 MIDI channels all by itself.  The configuration steps to set up the environment are still required, but you should then be able to load these up as a starting point.

Zip archive of the (revised) Logic and Live templates

Excellent video introduction to the Loopback software

I highly recommend you watch this video which, at about minute 3, walks you through setting up a two-channel audio connection between Logic and Live that is exactly the same as what this tutorial shows.

https://www.youtube.com/watch?v=mwQSXlYGZfA

Quick Checklist

After a few times through, this checklist may serve as a useful shorthand reminder of the steps that are required.  It’s basically a table of contents of the rest of the post.

Disconnect all external MIDI devices

Install Loopback

Set up the IAC bus

Click the “Device is online” button

Optional: rename the port

Open Live first.

Configure Preferences in Live

Configure Audio Preferences in Live to recognize Loopback as its audio input

Configure MIDI Preferences in Live to recognize the IAC Driver

Open a new or existing project in Live

Drag External Instruments into empty MIDI tracks

Configure the External Instrument MIDI output(s) to send it to Logic via the IAC driver

Configure the External Instrument’s Audio input to receive audio back from Logic

Open Logic

Configure global preferences in Logic

Un-tick “Control surface follows track selection” in Logic Pro > Control Surface > Preferences

Set the global Audio Output device to Loopback

Open a new or existing Logic project

Set project-level configuration preferences (only required for multitrack work)

Select “Auto demix by channel” if multitrack recording

Configure the project to only listen to MIDI from the IAC MIDI input (this is an essential step — skipping this will result in all sorts of weird errors as MIDI flows directly from sources rather than through Live)

Open the Environment window

Select the “Click and ports” layer

Delete the connection between the “sum” and “input notes” objects

Create a connection between the inbound IAC MIDI port and the “input notes” object

Create or select Software Instrument track(s)

Assign MIDI channels to correspond with the MIDI-To settings in Live

Record-arm the track(s)

Switch back to Live

Test the configuration

Reestablish external MIDI controllers in Live

Oddities:

Assign B3 Organ instruments FIRST, and only to MIDI channels 1,2 and 3

Drummer tracks don’t respond to external MIDI

Debugging:

Controller (e.g. Ableton Push or Komplete Kontrol) stops working in Live. 

IAC Driver can’t be selected as a “MIDI to” destination in Live (it’s greyed out)

All channels sound in Logic if any channel is record-armed in Live

Two channels sound in Logic, the external-keyboard channel and the record-armed one

Instruments sound in Logic even if no Live tracks are record-armed

Instruments stop responding to MIDI as new channel strips are added in Logic

Step by Step:

Disconnect all external MIDI devices

First get your template working without the complications of stray MIDI coming from your devices (use the computer-keyboard to generate notes in Live), then add external sources of MIDI back in one at a time and debug any conflicts.

Install Loopback

Download Loopback HERE.

Configure Loopback

Loopback provides several ways to get this job done.  I’ve chosen to set it up as a simple “loopback” device (no audio source) with 32 channels (16 stereo pairs, added manually) and a label to help me identify it when setting preferences in the DAWs.  Here’s how it looks in Loopback:

And here’s how it looks in Audio MIDI Setup:

Set up the IAC bus (used to pass MIDI signals from Live to Logic).

It’s in the MIDI window of Audio MIDI Setup.   If this the first time the IAC bus has been used the IAC icon will likely be greyed out.

IAC-default

Tick the “Device is online” box to bring it online

Optional: rename the port (by clicking on the name and waiting for it to turn into an edit box).

It will have 16 midi in/out ports even though the “Connectors” boxes are greyed out.  Here’s the way the IAC Driver Properties dialog will look when it has been put online and the port has been renamed (note, this is the name that are being used in the template files, either rename the port or revise the audio routing in Live and Logic to match).

IAC-2

 

Open Live first.

Opening Logic first may cause Logic to launch as a Rewire host and Live will then automatically open as a Rewire Slave ““ the whole goal of this exercise is to have Live act as the master not Logic.

Configure Preferences in Live

Configure Audio Preferences in Live to recognize Soundflower as its audio input.  This tutorial uses the 32-channel Loopback device configured above.  Use a 2-channel Loopback device for single-instrument configuration, “multi voice” versions need the 32-channel option if mixing is going to be done in Live.  2-channel Loopback will work if multi-channel audio is going to be mixed in Logic before it is brought into Live.  Use smaller buffer sizes if latency becomes an issue for live performance.  Note that sample sizes and sample rates are set in Loopback, Live and Logic.

Note for multi-channel configurations:  To make some or all of the channels of the Loopback device visible to External Instruments, toggle them in Preferences > Audio > Input Config


Configure MIDI Preferences in Live to recognize the IAC Driver ““ only enable the IAC drive for MIDI Output to Logic.  Getting MIDI Input data from Logic causes the risk of MIDI loops — so leave that option turned off.

Live-pref-midi

Open a new or existing project in Live.

Feel free to download the Live template I’ve posted in the “Resources” section near the beginning of this post.

Drag External Instruments into empty MIDI tracks

Configure the External Instrument MIDI output(s) to send it to Logic via one of the MIDI channels of the IAC driver (Channel 1 in the picture below).  In multichannel configurations this is the Live end of the MIDI mapping to Logic ““ these channel assignments are mapping the MIDI from Live into the corresponding channel in Logic.

Configure the External Instrument’s Audio input to receive audio back from Logic.  Since Soundflower has selected as the global audio-input source for Live in Preferences, the channel selections will all refer to Soundflower.  The single-number options refer to single channels, the options with two vertical bars refer to stereo pairs.  The stereo pairs are the likely choice in most situations.

Live-instrument-config

Open Logic.

Ignore the warning that another Rewire host is running ““ this is the correct  behavior, we don’t want Logic to be the host.

Configure global preferences in Logic

Un-tick “Control surface follows track selection” in Logic Pro > Control Surface > Preferences.

Logic-Control-Surface-Preferences

Set the global Audio Output device to the Loopback device .  The 32 channel version is used in this setup.

Open a new or existing Logic project.

Feel free to download the Logic template I’ve posted in the “Resources” section near the beginning of this post.

Set project-level configuration preferences

The steps in this section are to overcome the somewhat wonky multi-channel MIDI routing in Logic and are not required for driving a single channel in Logic from Live

Select “Auto demix by channel if multitrack recording” in File > Project Settings > Recording

Logic-File-Project-Settings-Recording

Configure the project to only listen to MIDI from the IAC MIDI input.  Projects default to listening to all instruments.  This causes endless trouble with MIDI loops.  These steps force Logic to only listen to the MIDI being sent from Live.  Here are the steps:

Open the Environment window ““ Window > Environment
Select the “Click and ports” layer
Delete the connection between the “sum” and “input notes” objects
Make a connection only between the inbound IAC MIDI port (which is where the MIDI events from Live will be coming from) and the “input notes” object.

Click on this photo to get a full-sized version — it’s hard to see, but the second little triangle, coming from IAC Live -> Logic, is the only one that’s connected to the “Input Notes” object

Logic-Environment-IAC-MIDI

Set up the tracks in Logic

Create or select Software Instrument track(s). 

Assign MIDI channels to correspond with the MIDI To settings in Live

Record-arm the track (or tracks)

Click on this photo to get a full-sized version — note that all channels are armed for recording, and each has a different MIDI channel assigned as seen with the light number in brackets immediately to the right of each track name.

Logic-Project-Window

Use the Mixer window to assign audio channels to tracks in Logic.  This is only required for multi-channel configurations. Click this picture to expand it to full size and take a hard look at the “Output” row, that’s where the assignments are made.

Logic-Mixer-Window

Switch back to Live

Test the configuration.  Logic should now respond to MIDI events from Live.  Enable the Computer MIDI Keyboard function in Live, record-arm a track or two in Live and type a few A’s, S’s and D’s on the computer keyboard.  Notes should sound in Logic on the tracks corresponding to the ones that have been record-armed in Live.

Reestablish external MIDI controllers in Live.   Bring each external controller back into the Live configuration one at a time and iron out any wrinkles that may appear.  In general problems will be caused either if MIDI events leak into Logic directly rather than being forced to pass through Live first or because Logic “took over” a controller (e.g. Push or Komplete Kontrol).  Debugging all possible problems with external controllers is beyond the scope of this post.  But likely fixes will be in Logic’s MIDI Environment.

Oddities:

Assign B3 Organ instruments FIRST, and only to MIDI channels 1,2 and 3 ““ B3 type instruments (e. Vintage B3 Organ or the Legacy series of B3 organs) require more than one MIDI channel ““ and those channel-assignments default to MIDI channels 1,2 and 3.  Adding one of these instruments “on top” of already-assigned instruments causes unusual breakage, thus it’s a good idea to avoid these channels for anything except B3 instruments.

Drummer tracks don’t respond to external MIDI ““ either export the track to an audio file for use in Live, or follow these steps to create a Software Instrument track that mimics the Drummer track but that will respond to MIDI

Select/create a Software Instrument track

Copy the channel strip settings from the Drummer track (right-click on the name of the channel strip, select “Copy Channel Strip Setting”

Paste the channel strip settings into the Software Instrument Track

Adjust MIDI and audio settings in the new channel strip

Bonus ““ copy/paste regions from the Drummer track into the new Software Instrument track to get MIDI renditions of the region ““ which can then be exported into Live and used to trigger the drummer

Here’s a drawback to staying MIDI rather than exporting to audio ““ the “automatic hi-hat” components of the Drummer don’t come across, because they’re not imbedded in MIDI.  Best turn that feature off in the Drummer settings off if MIDI is the format you’re using.

Debugging:

Controller (e.g. Ableton Push or Komplete Kontrol) stops working in Live.  This is true.  Logic is grabs those controllers away from Live when it starts.  I have no fix, only a workaround.  Use this dual-DAW configuration sparingly, then shut down Logic and complete your production in Live by itself.

IAC Driver can’t be selected as a “MIDI to” destination in Live (it’s greyed out)

  • use the Audio Midi Setup app to confirm that the IAC Driver “device is online” box is ticked
  • confirm that the IAC output MIDI ports are enabled in Live -> Preferences -> MIDI

Two channels sound in Logic, the external-keyboard channel and the record-armed one ““ check the project’s Environment window to make sure that Logic is only receiving MIDI from the IAC driver.

Instruments sound in Logic even if no Live tracks are record-armed ““ check the project’s Environment window to make sure that Logic is only receiving MIDI from the IAC driver

Instruments stop responding to MIDI as new channel strips are added in Logic ““ check to make sure that the “disappearing” instruments aren’t assigned to MIDI channels 1, 2 or 3 if there’s a B3 organ instrument in the mix (which uses all three of those channels).  One reminder is to delete or mute the MIDI 2 and 3 channel strips in Live if a B3 organ part of the mix in Logic.