Jump to content

Instrument Track to receive MIDI info from fixed input/channel


yinyue

Recommended Posts

Hi forum,

I'm trying to send MIDI info from secondary program to Logic.

 

I send it through IAC drivers to Logic.

 

The MIDI is sent correctly and I receive it in Logic through MIDI Thru.

 

Now: How do I set an Instrument Track to receive information from only the IAC Driver XYZ (and Channel #XYZ)? I'm sure there is some info somewhere that lets me adjust the MIDI input of a track.

 

Thanks

Link to comment
Share on other sites

All MIDI coming into Logic, from all ports, is merged and send to the currently selected track.

 

You can't say "On this track, listen to channel 13 on the IAC bus only".

 

If you need to filter some MIDI out, you'll need to do it in the environment before that info hits the sequencer (eg, filtering out whole MIDI ports you don't want, etc)

Link to comment
Share on other sites

Not sure I understand what is sad to hear..... You have an external program sending via the IAC - as long as you know which midi channel it is sending to and is a different channel than other channels being sent - it can be assigned to a track. Just because the ports cannot be assigned doesn't mean you can't do it. The only caveat is that you can only route up to a maximum of 16 midi channels simultaneously. I can post a video if want to see how it is done ( when I can )
Link to comment
Share on other sites

If you’re not going to need to record the incoming midi dedicated for this one instrument then try something like:

 

Create the instrument track

 

Reassign that track to no output

 

Delete the track

 

Open the environment and you’ll see the instrument CHANNEL is still there. Now patch a cable from that specific IAC port to the instrument channel. Doing so will also remove that IAC port from the sum that is feeding the sequencer

 

You should then hear external midi from IAC hitting your instrument plugin and avoiding the sequencer altogether

Link to comment
Share on other sites

I'm at my computer now and can make a better response.

 

So first a couple points...

 

As others have already noted, by default LogicPro sends all incoming midi on all midi ports, to the sequencer object (in the environment). Then in your arrange view of LogicPro, you see your "tracks" and the currently selected track is the one that receives all that incoming midi from all ports.

 

You can use the demix feature that has been mentioned, to isolate the midi per midi channel, so that not only will the selected track receive midi, but other tracks that are record enabled at the same time...and there is some built in magical voodoo rules about which order of the tracks the incoming midi goes to those tracks, based on midi channel. All midi has to be consumed, as I recall...

 

Me personally I've never gotten along very well with this particular feature of logicPro, I would much prefer if LogicPro just let me arm any track I want and manually specify in the track header which port and channel to listen to, like every other DAW on the planet. But that's just me.

 

So.. First thing is play around with the demix feature and see if it gets you going....

 

The other way to handle it is by wiring things up in the environment, which is a bit cumbersome to do, but on the other hand, you don't have to worry about magical voodoo of which tracks are receiving the midi and so forth..

 

Here is an example:

 

  1. Create an instrument track with the instrument you plan to use, then right click on the track header and reassign it to "No Output"
     
    reaasign.thumb.jpg.6a69b1eaeda5794b0205789ac7ce66ec.jpg
     
     
  2. After you reassign the track to "No Output", the track and underlying instrument channel strip are disassociated, so you can delete that non functional track if you want or just leave it there for now, but either way, the underlying instrument channel will not be lost. You can still find it by looking at the mixer pane, make sure the View tab is set to ALL and there it is...a mixer channel that is not associated with any track in the sequencer:
     
     
    view.thumb.jpg.78ad7c954990b3340715748192d81ec0.jpgmixer.thumb.jpg.aafab84e2c6742d4cc3a7c73c88ce0c9.jpg
     
     
  3. Now you open the scary environment (LogicPro window menu). That will open an environment window and by default it will be looking at the Mixer layer, and as you can see the Instrument channel you created earlier when you created a new track, is still there.
     
     
    envmixer.thumb.jpg.e13a98d9eef95e521a6be8f5e43f4dfc.jpg
     
     
  4. Now open another environment window, using the same menu command, you will have two open environment windows both pointing to the same mixer layer. IN the top corner of the window you will see a Layer control you can use to select one of several different available layers. On one of the two windows, choose the "Clicks and Ports" layer.
     
     
  5. Drag the instrument channel object across from the mixer layer to the Clicks and ports layer on the other window.
     
     
  6. Now you need to cable it up. On the box called "Physical Input", you will see the IAC port you are using to send midi from the other program. Click on the little triangle on the side of it and drag over on top of the Instrument channel object, that will create a cable between them. By default, The Physical Input object sums up all received midi on all ports and sends it via the "Sum" triangle over to the Sequencer object, passing through the keyboard and monitor on the way there. When you cable any of the specific midi ports explicitly as we have just done, then it will automatically be excluded from that Sum.
     
     
    cabled.thumb.jpg.f6a402ad82ce9aa9f655dff8684d066b.jpg
     
     
  7. So at this point your external midi generator should be sending midi to your instrument via that cable you set up, and its completely blocked from hitting the sequencer at this point. Which means you can go ahead and use LogicPro the way you want for other tracks, use it normally...that one IAC won't effect any of it, its totally isolated to the instrument setup there. But unfortunately you can't record it this way. But it will stay hardcoded out of the way, listening to the external midi and the external midi won't hit any tracks.
     
     
  8. When you're ready to record, then you have to change the cabling... Two steps.. Recable the IAC to the sequencer by dragging from the little triangle next to the IAC port over to the keyboard object...
     
     
    uncabled.thumb.jpg.449d0784b8b4fb9f19d9d64d84120a89.jpg
     
     
  9. Then go back to the arrange page...if you didn't delete that old empty track you can use it now, if not then create a new external midi track, then right click on the track header and reassign it to the instrument channel object:
     
     
    record.thumb.jpg.904dabaa3a8efb6b1c51fabe474e6bb1.jpg
     
     
  10. At that point, all incoming midi will be recorded to that track, but just record your external midi at that point to that track and be done with it.

 

I know some people will not agree with me, and that's fine, but I prefer to use these laborious steps when doing stuff like that because LogicPro's built in behavior to assign all incoming midi to the currently selected track, or the voodoo demix feature, I find to be difficult to work with.

 

You could also get trickier in the environment and create a switch that could switch the instrument in/out of record mode instead of having to recable it to record. I'll leave that as an exploration for you and the environment. ;-)

Link to comment
Share on other sites

Me personally I've never gotten along very well with this particular feature of logicPro, I would much prefer if LogicPro just let me arm any track I want and manually specify in the track header which port and channel to listen to, like every other DAW on the planet. But that's just me.

 

I'll be controversial and say I like it how it is... (Don't shout at me! ;) )

 

I like it how it is because in general, like I suspect the vast majority of Logic userbase, I basically have one main controller, and Logic's longtime behaviour means I never have to worry about faffing about with incoming MIDI routing. If I want to play a different keyboard/controller, I just plug it in, and I have to do nothing, it just works.

 

Now, there are undoubtedly users and use cases where this existing behaviour is hurting people (and yes, I'm aware of what these use cases are, in detail).

 

So, if the MIDI input bottleneck is ever dealt with (how many years now..?), I'd like it done in a way that doesn't increase complexity/faff for "simple" setups, but that adds flexibility for those times where you would prefer to easily target different tracks with different MIDI input ports/channels. Something like by default, a track listens to all incoming ports, but you can enable a checkbox that then enables this and lets you pick a port and channel that that track exclusively will respond to...

 

I'm not sure how that would be handled in the environment to let you preprocess the input streams pre-sequencer object but I'm sure something could be figured out...

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...