A technical support community for Apple Logic Pro users.

 
Uncle Freddie
Topic Author
Posts: 26
Joined: Thu Jun 16, 2016 4:33 am

Questions about using IAC Driver to capture MIDI FX output

Thu Oct 25, 2018 7:53 am

Hi,

I learned recently how to record the output of MIDI FX plugins in Logic:


1. Enable IAC Driver in /Applications/Utilities/Audio MIDI Setup.app

2. Add MIDI FX plugins to your Software Instrument track to give it the required randomization, modulation, arpeggiation, etc.

3. Change the instrument on the track to External Instrument and set the MIDI Destination to "IAC Driver Bus 1"

4. Create another Software Instrument track and arm it to record; enabling an instrument on this track is optional.

5. Hit record; the effected MIDI data will be recorded.



Seems straightforward enough and doesn't require installing any additional plugins. But I have a few questions:

Is it safe to leave IAC Driver enabled?

By "safe" I mean: Will leaving it enabled cause any MIDI timing issues, or timing/buffering issues in general?

Considering how useful this method is, why is the IAC Driver normally disabled?



Thanks,
Fred
Logic Pro X 10.4.8, macOS High Sierra 10.13.6, iMac Pro, 3GHz Intel Xeon W, 64GB, Apogee Ensemble Thunderbolt
 
User avatar
des99
Posts: 4609
Joined: Tue Jan 27, 2015 12:08 pm

Re: Questions about using IAC Driver to capture MIDI FX output

Thu Oct 25, 2018 8:30 am

Uncle Freddie wrote:
Is it safe to leave IAC Driver enabled?


Sure! It's just another MIDI port. Mine has been enabled for, oh, about a decade or so now... ;)

Uncle Freddie wrote:
By "safe" I mean: Will leaving it enabled cause any MIDI timing issues, or timing/buffering issues in general?


No.

Uncle Freddie wrote:
Considering how useful this method is, why is the IAC Driver normally disabled?


Because I imagine 99.9% of Mac users won't even know what it is, nor use it. It's there for those minority (like us!) that do...
mu:zines | music magazine archive | difficultAudio
 
User avatar
Dewdman42
Posts: 2964
Joined: Tue Sep 09, 2014 3:01 pm
Location: Salt Lake City, UT

Re: Questions about using IAC Driver to capture MIDI FX output

Thu Oct 25, 2018 9:06 am

Agree with des99

One thing to be careful about with this approach is that it’s easy to get midi feedback loops because logic’s default mode is to have all available midi sources, including IAC ports, fed into the sequencer. If you have an instrument that generates midi and sends that midi to IAC, it will feed into the sequencer. If you have the track of that midi generating plugin selected, then that generated midi will feed back into the same plugin as sent out midi. If that plugin forwards that midi on again, then you will have feedback loop.

There are ways to work around this but just be aware of it. Midi feedback loop can cause logic to become frozen.

Anytime you send midi from external instrument to IAC, you will run the risk of freezing logic if you accidentally select that track header unless you cable things differently in the environment to avoid it.

It’s definitely a useful tool though. This trick is also a way to feed the midi output from plugins to multiple tracks/channels when applicable
5,1 MacPro 3.46ghz x 12 128gb ram, OSX 10.15 on OpenCore, Logic Pro 10.5, Mainstage3, Cubase10.5, StudioOne4, Reaper, DP10, VEP7, VSL, too many plugins to list
 
ValliSoftware
Posts: 767
Joined: Mon May 19, 2014 10:46 am

Re: Questions about using IAC Driver to capture MIDI FX output

Thu Oct 25, 2018 1:14 pm

Uncle Freddie wrote:
Hi,

I learned recently how to record the output of MIDI FX plugins in Logic:


1. Enable IAC Driver in /Applications/Utilities/Audio MIDI Setup.app

2. Add MIDI FX plugins to your Software Instrument track to give it the required randomization, modulation, arpeggiation, etc.

3. Change the instrument on the track to External Instrument and set the MIDI Destination to "IAC Driver Bus 1"

4. Create another Software Instrument track and arm it to record; enabling an instrument on this track is optional.

5. Hit record; the effected MIDI data will be recorded.



Seems straightforward enough and doesn't require installing any additional plugins. But I have a few questions:

Is it safe to leave IAC Driver enabled?

By "safe" I mean: Will leaving it enabled cause any MIDI timing issues, or timing/buffering issues in general?

Considering how useful this method is, why is the IAC Driver normally disabled?



Thanks,
Fred


Once you finish recording, disable the MIDI plug-ins and the External Instrument.
You do this to save on CPU usage.

IAC works great but if you have a MIDI interface like iConnectMIDI2+, you can achieve the same thing by adding a MIDI cable to DIN1 and DIN2, and now you can use that instead of IAC.
Click&Ports.png
Click&Ports.png (25.13 KiB) Viewed 651 times
iMac 10.8.5 2.8 GHz Intel Core 2 Duo 4GB Ram - Logic 9.1.8 (1700.67) (32-bit)
MacBook Pro 10.8.5 2.2 GHz Intel Core 2 Duo 6GB Ram - Logic Pro X (10.2)
MacMini 10.13.6 2GHz Intel Core i7 16GB Ram - GarageBand 10.4.5 Logic Pro X (10.4.8)
iPad Mini iOS 12 - iOS GarageBand 2.0.1
Qosimo X70-A 10.13.6 Intel® Core™ i7-4700MQ Processor 32GB DDR3L 1600MHz memory, 2-500GB 7200rpm hard drives - Logic Pro X (10.4.8)
 
User avatar
Dewdman42
Posts: 2964
Joined: Tue Sep 09, 2014 3:01 pm
Location: Salt Lake City, UT

Re: Questions about using IAC Driver to capture MIDI FX output

Thu Oct 25, 2018 3:54 pm

Uncle Freddie wrote:
1. Enable IAC Driver in /Applications/Utilities/Audio MIDI Setup.app
2. Add MIDI FX plugins to your Software Instrument track to give it the required randomization, modulation, arpeggiation, etc.
3. Change the instrument on the track to External Instrument and set the MIDI Destination to "IAC Driver Bus 1"
4. Create another Software Instrument track and arm it to record; enabling an instrument on this track is optional.
5. Hit record; the effected MIDI data will be recorded.


So as mentioned before, there is no harm in leaving IAC ports open and available, but you do have to be careful to watch out for midi feedback loops when using midi plugins that way on tracks. In the above scenario if you were to select the first track header on the arrange page, this could easily happen and it would probably freeze up Logic, requiring you to force quit it.

Here is one way to avoid that

  1. Create a mixer channel object in the environment, for now make it an AUX type of mixer channel object.

  2. With that objected selected, use the object inspector on the left to change it to an Inst channel object and use Inst 255 to avoid future conflicts.

  3. You will now have an instrument channel that is not associated with any tracks. Go to the mixer and hit the ALL filter on the top to see all mixer channels, then you will see that channel strip. Add the external instrument and configure it to send to the IAC port you will use. Add the midi plugin you want.

    strip.jpg
    strip.jpg (8.42 KiB) Viewed 629 times

  4. If the midi plugin requires input, then you will need to temporarily cable up your midi controller to feed into it

    en.jpg
    en.jpg (76.74 KiB) Viewed 629 times

  5. That's it. now go back to the arrange page, select the track where you want to record the generated midi, put whatever instrument you want there. You should not have to worry about any midi feedback loops, but you may have to cable the midi controller both to this strip as well as to the sequencer or use a switch.
5,1 MacPro 3.46ghz x 12 128gb ram, OSX 10.15 on OpenCore, Logic Pro 10.5, Mainstage3, Cubase10.5, StudioOne4, Reaper, DP10, VEP7, VSL, too many plugins to list
 
ValliSoftware
Posts: 767
Joined: Mon May 19, 2014 10:46 am

Re: Questions about using IAC Driver to capture MIDI FX output

Thu Oct 25, 2018 5:42 pm

Uncle Freddie wrote:
Hi,

I learned recently how to record the output of MIDI FX plugins in Logic:


1. Enable IAC Driver in /Applications/Utilities/Audio MIDI Setup.app

2. Add MIDI FX plugins to your Software Instrument track to give it the required randomization, modulation, arpeggiation, etc.

3. Change the instrument on the track to External Instrument and set the MIDI Destination to "IAC Driver Bus 1"

4. Create another Software Instrument track and arm it to record; enabling an instrument on this track is optional.

5. Hit record; the effected MIDI data will be recorded.



Seems straightforward enough and doesn't require installing any additional plugins. But I have a few questions:

Is it safe to leave IAC Driver enabled?

By "safe" I mean: Will leaving it enabled cause any MIDI timing issues, or timing/buffering issues in general?

Considering how useful this method is, why is the IAC Driver normally disabled?



Thanks,
Fred


Pretty much the way I do it as well. Nothing to complicated about it.
iMac 10.8.5 2.8 GHz Intel Core 2 Duo 4GB Ram - Logic 9.1.8 (1700.67) (32-bit)
MacBook Pro 10.8.5 2.2 GHz Intel Core 2 Duo 6GB Ram - Logic Pro X (10.2)
MacMini 10.13.6 2GHz Intel Core i7 16GB Ram - GarageBand 10.4.5 Logic Pro X (10.4.8)
iPad Mini iOS 12 - iOS GarageBand 2.0.1
Qosimo X70-A 10.13.6 Intel® Core™ i7-4700MQ Processor 32GB DDR3L 1600MHz memory, 2-500GB 7200rpm hard drives - Logic Pro X (10.4.8)