Nerdy question: Does Logic Pro supply any sort of API which allows me to traverse track, check if they send MIDI out and if so, spit out a list of the notes on those tracks ?

If not, is there any clever way to automate that (get a list of the midi notes for a track) ?

  • As far as I know the most low-level access to Logic workings is possible via Environment, which is a kind of limited visual programming system. I'm not sure what are you trying to achieve in the end but it may help you.
    – Anton Strogonoff
    Nov 1, 2012 at 2:27
  • @AntonStrogonoff Thanks, where can I learn more about Environment ? Nov 1, 2012 at 3:02
  • audio.tutsplus.com/tutorials/recording/… will probably explain the basics. If you tell us what you are trying to achieve with the list of midi notes though, maybe someone could say whether Environment can do that or not.
    – Anton Strogonoff
    Nov 1, 2012 at 3:43
  • I see.I was working on a project that involved controlling mulitiple(40+) DIY instruments based on a audio track: had to map MIDI to DMX essentially. I ended up making a quick Max patcher which worked out. I was wondering if there was a built-in scripting language in Logic to traverse the session and export the data in a custom text format, but now that I think of it it's kind of the same as exporting MIDI files which can be parsed later.The advantage of having Logic talk directly/live to the instruments via Max is that we could easily update/tweak the track without 're-exporting' all the time Nov 3, 2012 at 10:15
  • Right, I should've thought about Max when you mentioned scripting. By the way, sounds like an interesting project. =) Do you do that live with Logic? We're trying to develop setup for mixed video/audio performance as well, though video part is going to be Resolume-driven. Not sure if Logic is reliable enough for live audio part. Max is likely to be involved though.
    – Anton Strogonoff
    Nov 4, 2012 at 7:53

1 Answer 1


I'm not sure how deep AppleScript support in Logic is, but that would be the first place to check.

If AppleScript won't do it, then you might try just directly processing MIDI. If you don't need results in real time, then it is easy. Just code up a MIDI processor using your favorite language and library (easy libraries exist for perl and Python. I suspect that good libraries exist for Java, Ruby and other popular languages). You can save individual tracks as MIDI and process them.

Alternately, you can use the Apple IAC bus to create a virtual port. Send MIDI notes from Logic to this port, and then listen to that port with your script. You could setup a second IAC bus to send processed data back to Logic, but be careful of infinite MIDI loops.

  • very interesting suggestions ! +1 Nov 1, 2012 at 3:00

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.