This is a follow up to the first article "Live + Logic #1: Overview". Please note: when working with Live and Logic, it is very important to always start Live first, and once Live has finished loading, then start Logic. Otherwise Live will automatically run as a ReWire slave to Logic, which prevents the use of plugins in Live.
OS X makes it easy for us to create virtual MIDI ports that can be used by any MIDI-aware application. These ports, called IAC (Inter-Application Communication) ports, allow us to route MIDI between applications.
One issue with these IAC ports is they can be used as both input and output in any application, and it's easy to accidentally create feedback loops. Although feedback is incredibly useful for processing audio signals, it's something to be completely avoided when working with MIDI. When you press a note on your keyboard, you don't want an infinite number of note-on events triggered!
With that in mind, I highly recommend adopting a naming convention for IAC ports which clearly indicate the purpose of the port as either an input or output for a particular application. Since we are trying to send MIDI from Live to Logic, I'm going to name the port "TO LOGIC". Feel free to name it something else, but keep in mind I'm going to refer to the port as the TO LOGIC port in these articles.
First we need to make sure we don't create any MIDI feedback loops with that TO LOGIC port we just created. We don't want any MIDI entering Live on this port, it is solely for sending MIDI out of Live to Logic.
I'm going to setup 4 tracks for controlling 4 separate Logic instruments (one track in Live will control exactly one track in Logic). You can of course setup more or less tracks depending on your needs.
Let's create a multi-track MIDI session, where the channel of incoming MIDI messages determines the track that the message is routed to. In this way we will link the first external instrument track in Live (outputting to channel 1) to the first track in Logic, link the second external instrument track in Live to the second track in Logic, and so on.
Now, if you add an instrument to one of the Logic tracks, arm the corresponding track for recording in Live, and play some notes on a MIDI keyboard, you should notice you are getting two notes for every key press! That's because both Live and Logic are listening to the MIDI input. Logic immediately plays the note it receives. At the same time, Live passes the MIDI messages through its External Instrument, Logic receives a duplicate note message, and proceeds to play the same note a second time. Obviously this is not desirable. Luckily we can reconfigure Logic to only listen to MIDI on the TO LOGIC port coming from Live:
Ok! Finally, we have all the MIDI communications between these two programs setup. Try adding some instruments to the different Logic tracks, and you should be able to play each instrument by arming the appropriate track in Live. You can record some MIDI clips in Live and play them back and it should all work as expected. If it isn't working, double check all your settings since there were a lot of steps and it's easy to make a mistake.
Once things are working, I recommend you save your Live Session and Logic Project as templates that you can load up any time you want to use these two programs together. The last thing we want to be doing during a creative spurt is setting this up all over again.
In the next few articles, I'll be discussing various options for routing Logic's audio back into Live, which really completes this solution by allowing you to mix the track levels inside Live, route Logic's output into Live's effects, and bounce to audio clips in Live.
First up is Live + Logic #3A: Audio Routing with Wormhole
Comments
Re: Live + Logic #2: MIDI Routing
hey adam!
first of all, thanks a lot, this is great what you've done here, everything is explained cleary! i've been looking for this...!
so, i got everything working. i can create midi in live and it's playing an instrument from logic.
but i still haven't figured out, how to get from the midi the audio out of it in live as a file to put it back in a audio track. i've seen the first comment and your reply. i've freezed the midi track in live and then tried to export only the as audio, but the only thing i get is an aiff-file with silence...?
what am i doing wrong?
cheers - david
Re: Live + Logic #2: MIDI Routing
So now i got this running... some channels have the logic midi clips in it, but if i want to export the song in ableton it won't export the midi-clips from logic...so how can i export these with the song or convert them to audio?
thx
Re: Live + Logic #2: MIDI Routing
You can freeze the track in Live to get the audio.
To get the midi, in Logic you can go to File -> Export -> Selection as MIDI, save that file on your computer somewhere, and then add it to your Live set. If you select multiple tracks and then do that export, I believe it creates a multi-track midi file, which is probably not what you want. You'll typically want to select a single track (or individual regions within the track) and export them one at a time.
Re: Live + Logic #2: MIDI Routing
Hi...this tutorial help me so much...i would want to say thank you to all everybody that have prepared this awesome tutorial...
The sound of Logic Plug In play out into my Albleton Channel with External Instrument...but i have one problem...
How can do to records audio of the sound of Logic??!? In the Ableton channel the sound comes out...but ther isn' t audio signal to records!??!
Hope to be able to explain me....please i need help!!!
Best
Re: Live + Logic #2: MIDI Routing
brilliant! i've been wondering about how to do this for a minute now!!
just 2 question, to take it further .. 1, is there a way to clock sync Logic to live in this mode, so i can access delays/fx in sync with ableton?
2, though i love live, i feel like being able to mix down my sound in logic would be awesome .. with MIDI control from Live i can easily use most of my plugins in Logic, but not all, and not my Max for Live patches .. how could i port those specific tracks into logic for mixdown?
thanks again! so stoked about this!
Re: Live + Logic #2: MIDI Routing
1. I really want to sync the clocks too but I never got around to figuring out a good system for it. Assuming Live is the master clock, there isn't a direct way to sync Logic's clock, because Live sends MIDI clock for sync and in the Logic manual it says:
"Logic Pro can send MIDI Clock signals to synchronize external devices. It can not receive MIDI Clock synchronization signals."
All is not lost though. I think it's possible to use a third piece of software that converts Live's MIDI clock to something Logic supports. But I'm not sure such software exists. I assumed I would have to build it myself, that's why I never got around to it.
Other options could work, like making Logic the master (Live says it can be a slave to MIDI clock), or using external hardware to serve as the master clock for both programs. I didn't really look into making Logic the master because I want to control the tempo and song position from inside Live, and basically think of Logic like a big plugin. Since you want to mixdown in Logic, making Logic the master clock probably makes sense. Read the section on synchronization in the manuals for both programs and hopefully that will get you started.
2. Once you have Live sending MIDI to Logic, you can just record the track in Logic and then edit and mix from there. Logic doesn't care where the MIDI is coming from, so this isn't really any different from recording notes from a MIDI keyboard. If you have audio clips in Live, that's a little bit more work. You could try using something like Wormhole2 to route the audio over, or just mixdown the clips/tracks in Live and open the files in Logic. Shouldn't be too hard...
Re: Live + Logic #2: MIDI Routing
this is so amazing, just the info I needed... thankyou forever :)
Only thing is...I'm not getting any sound. At first, I was getting the sound from logic, but now that i've re-routed the physical input cable in the environment window to 'TO LOGIC' , it becomes clear that live is not receiving the messages. there is signal showing up in midi channel 2 in Live, but this seems to be due to the fact that my usb midi interface is assigned to that channel (in the preferences). the ext instrument track 1 is armed... it's very confusing.
Can you help...?
Re: Live + Logic #2: MIDI Routing
It sounds like either Live is not sending MIDI out the "TO LOGIC" port (check that it's enabled in the preferences screen and the external instrument is setup correctly) or you connected the wrong cable in Logic's environment (maybe you connected the one just above or below "TO LOGIC").
Also, I have noticed in Logic, if you connect or remove MIDI devices, it can shift around the order of the MIDI ports in Logic. So maybe that's part of your problem. Connect all the hardware you want to use, then make sure Logic's environment is setup correctly.
Re: Live + Logic #2: MIDI Routing
ok, so I re-did the whole set up in new live & logic projects, got sound happening, i can record clips in live and it's playing the logic instruments - but all at the same time! I've assigned each track in live to midi channels 1,2,3 and 4, and each midi track in logic correspondingly... what am I doing wrong? I can't get it to differentiate the instruments to each track.... blergh!
Re: Live + Logic #2: MIDI Routing
sorry for posting my whole fumbling process up here... seems I've sorted it out. all it took was a third attempt at setting the whole thing up again in new projects.... anyway, your tutorial is great and has helped me a lot. thanks :)
Re: Live + Logic #2: MIDI Routing
Aha, this is exactly the information I was looking for! Many many thanks :)
Re: Live + Logic #2: MIDI Routing
This is exactly the information I was looking for.
But after setting up the new IAC Bus in the "audio midi setup"
I still can not see it in Live. I am looking at the same screen under Preferences - midi sync. But It is just not there. I can't figure this step out.
Please let me know what to do.
invisiblenation@gmail.com
-Jeremy
Re: Live + Logic #2: MIDI Routing
A few things to check:
- Make sure "device is online" is checked in the IAC Driver Properties window (compare with the screenshot above)
- You may need to restart Ableton Live to make it aware of the new IAC MIDI port. You could also try restarting your computer but that shouldn't be necessary...
If that still doesn't work, make sure you can see the IAC MIDI port in another application like Logic. If you can't see the MIDI port anywhere, then it must not have been setup properly so double check all the settings under Audio MIDI Setup. If you can see the port in another application and only Live can't see it, then it sounds like something is up with your version of Live. In that case I'd suggest asking on the Ableton forums (http://forum.ableton.com/) because I'm not sure what to try.
Re: Live + Logic #2: MIDI Routing
Yeah - it's all good now. The "Device is online" box was not checked in my case.
I had just reinstalled all software on my Mac Pro. Weird default... but hey... that's how apple likes it.
So if you want to put "Remember to check the 'device is online' box" in the 'Audio Midi Setup' then idiots like me won't
have to worry as much.
-Jeremy
Re: Live + Logic #2: MIDI Routing
Cheers for this tutorial - I've been a bit mystified about internally routing MIDI on my Mac, this explains it nicely.
Hoping to apply the above to send MIDI output from Quartz Composer to Logic Pro (using a Guitar Hero guitar as the Input).
Re: Live + Logic #2: MIDI Routing
This is amazing! This helped me out a lot! I couldn't find any tutorials that actually show how to do this. Thanks a bunch!