Multitrack MIDI in Logic

This article explains how to setup a 16 track virtual instrument template for multitrack MIDI recording in Logic Pro 8 on OS X. This is straightforward but might not be obvious if you are new to Logic. I use this kind of template all the time when using other software (like Max/MSP) to control Logic.

  1. Create a new empty project
  2. Create 16 Software Instrument tracks.
  3. Click on the first track. In the Inspector pane on the left, click the arrow next to the track name ("Inst 1") to see more options. One of the first options says "MIDI Channel: All". Change this to 1.
  4. Similarly, set tracks 2-16 to MIDI channels 2-16.
  5. Go to Settings -> Recording and enable the option "Auto demix by channel if multitrack recording"
  6. For that option to work correctly, all tracks need to be enabled for record. Click the [R] button on each track so that they are all red. For some reason, Logic sometimes disables recording on other tracks when you try to enable recording, so this step can be a bit frustrating. Keep at it and you will get it eventually.
  7. Go to File -> Save as Template... and enter a name for this template like "16 track MIDI"

Now you are all set and can send MIDI to Logic, which will route the MIDI to one of the tracks based on its channel. To send MIDI into Logic from another application, use a virtual MIDI port.

If you are using Max/MSP, it automatically creates two virtual MIDI ports called "from Max/MSP 1" and "from Max/MSP 2". You simply need to select those ports as your MIDI output for objects like [noteout] and [ctlout].

Otherwise you can setup an IAC port like this:

  1. Open Audio MIDI Setup (found under Applications -> Utilities)
  2. Open IAC Driver
  3. Make sure "Device is Online" is checked
  4. Click "More Information"
  5. Add/Rename Ports as desired. (I'm not sure what changing the number of connectors does. I can't change this setting on my computer.)

Now you should see a MIDI device called "IAC bus portname" in your audio applications. Select that as your output and Logic will receive the MIDI.

WARNING: The virtual MIDI port becomes unstable when using ReWire to route audio from Logic back into Max/MSP or to use Logic's clock to synchronize Max via [hostsync~]. By unstable I mean unusable: the timing is off and lots of notes disappear. It's possible to use ReWire for everything and avoid this problem. See this forum discussion for more info. Or you can sync to Logic's clock via MIDI and the [rtin] object instead of [hostsync~].

Adam Murray, 2008
contact the author...