Using MaxMSP made instruments as instruments in Logic Pro 8

    Jun 17 2010 | 9:28 pm
    Hi there, this is my first post so I'll try and be as detailed as I can. I've been using MaxMSP 5 for a while now to create various instruments and synths etc. and would say I know my way around it pretty well. Recently, I've been after using some of these creations in my main DAW, Logic Pro 8. This is my first post because I've done plenty of searching around and for the first time, haven't found any complete answers! Here's exactly what I'd like to do:
    - Be able to sequence parts like I would do virtual instruments in Logic using Max patch instruments. I'm having trouble routing MIDI between the two at the moment but I'm sure I've managed easily enough before with other applications!
    - Following this, record the resulting audio onto a Logic track. I've recorded just fine from Max into Logic before using Soundflower, I'm assuming this would be the best method in this situation too?
    Thanks a lot, any help would be greatly appreciated!

    • Jun 20 2010 | 12:19 pm
      I'm having a similar problem - is there anyway to send different midi channels from max (e.g. fromMax/MSP 1 and fromMax/MSP 2 - from noteouts) to different channels in logic. I changed the midi channels on the left of the channel strip to one and two but its sending data from both outs to the same instrument in logic... surely there is a simpler way?!
    • Jun 20 2010 | 2:04 pm
      This is my patch - can someone give me a hint on where I might be going wrong?
    • Jun 20 2010 | 11:51 pm
      Nicky, If you create a [noteout 1], then the MIDI pitches will be sent out on MIDI channel 1. If you create a [noteout 2] object, then the pitches will be sent out on MIDI channel 2. You will want to double click each of these noteout objects and set the MIDI port where you want the note to go to.
      Also, you can send a plain [noteout] object a message that is a list like: 60 110 1 where the 60 is the MIDI note number, the 110 is the velocity (how loud), and 1 is the MIDI channel the note should go out on. Similarly, the message "60 110 2" would send midi note number 60 at velocity 110 to MIDI channel 2.
      Each port (e.g., from Max MSP 1) has 16 separate MIDI Channels on which you can send notes. from Max MSP 2 also has 16 MIDI channels. So, you should be able to send notes to 32 different synths in LOGIC, just by using those two ports.
      In LOGIC, you need to go to the environment and pipe the MIDI port (shown on the Physical Input) to a Channel Splitter object which will allow you to route the notes on MIDI channel 1 to one place, and the notes on MIDI channel 2 to another.
      Most of this is in my tutorials. Granted, they are not the neatest tutorials, but I think they are relatively easy to follow.
      Hope this helps, Mitch
    • Jun 22 2010 | 3:05 pm
      Thanks for sharing!
    • Jun 22 2010 | 11:31 pm
      I have looked at your website so many times and downloaded all the tutorials. A real help and great to actually 'talk' to you. I went through a lot of them and my main problem was routing. The noteout 1 and 2 have totally solved my problem but being a total Logic Pro 8 noob I have no idea how to use, or where to find, a channel splitter object..when it comes to finding the midi channel its ok as its right on the inspector but I don't seem to have much luck with the other stuff... Thanks so much for your help. Your work is so useful. Nick
    • Jun 24 2010 | 1:18 am
      Nick, I assume you are using Logic 8 and so the references in this message are to the manual that came with Logic 8.
      You will need to open the "Environment" in Logic in order to see the "Physical Input" and to create Channel Splitters and other objects. Chapter 39 of the Logic 8 Manual deals with the Environment. You should take a quick look at it.
      The Environment uses "layers" to organize objects of various kinds (MIDI objects, Audio Objects, etc...). In general, you'll will want to look at the "Clicks and Ports" layer when trying to see how MIDI notes enter into Logic. To get there, go to the "Window" menu in Logic and select Environment. In the upper left hand corner, there is a drop-down menu where you select the layer. Select "Clicks and Ports". When you do you should see the Physical Input and the other objects discussed in the next paragraph.
      On page 858 of the Logic 8 Manual, read the section called "An Introduction to the Environment". I talks about how MIDI notes flow within Logic. In brief, MIDI notes come into logic through the "Physical Input" object. Each MIDI interface plugged in or MIDI program open (like Max) will be listed on this object. On the right edge of the Physical Input, there are little white pointy triangles. These are outlets the correspond to the individual MIDI interfaces or programs. The word "SUM" at the top is all of the MIDI notes coming into LOGIC.
      If Max is open, you should see a line labeled "from Max MSP 1" or something very similar. Send a MIDI note from Max to Logic, and you should see the note on the Keyboard and Input View object. The "Sequencer Input" object at the end of the flow chart sends midi notes to the currently selected track in Logic's Arrange page.
      To create a Channel Splitter Object in Logic's Environment, go to the local "new" menu and select a Channel Splitter object. Now connect the "from Max MSP 1" line on the Physical Input to the Channel Splitter object you just made. Do this by clicking (and holding) the little pointy triangle on the same line as "from Max MSP 1".
      Now the MIDI notes from Max are not sent out of the "SUM" output, they are piped to your Channel Splitter object.
      If you understand the above, you should be able to use the MIDI tutorials on my site.
      Lastly, please read pages 868-874 called The MIDI Signal Path. That should really get you going.
      Hope this helps, Mitch
    • Jun 28 2010 | 11:56 am
      Thanks raja, got straight onto that when I returned from my holiday and it works really well.
      If anyone else has problems with their Rewire installation (as I did when I first tried) see this thread with more tips from Mitch Turner: