Create virtual MIDI ports on Mac

If you want to have applications communicating with each other via MIDI on a Mac, here is a short explanation how to do this. As an example, if you want to use the MIDI harmonizer application to feed its output notes to your sequencer, in my case Logic, or any other stand-alone plug-in, you will have to create a virtual port where both applications can make use of in order to feed and access the MIDI stream. Besides this you would have to set the right MIDI virtual output port in your sending application as well as select the right MIDI virtual input port in your receiving application. When using Logic, you would have to route the actual virtual port into your sequencer input.

1: create a virtual port

In Finder, click on Go | Utilities and select the Audio MIDI Setup application.
Make sure the MIDI Devices tab on top of the Audio MIDI Setup window is selected.
Double click on the IAC Driver icon, the IAC Driver Properties window will open.
Now create a port by clicking on the + button, and name it for example "To Logic".

IAC_port

2: set the virtual port as output port in the sending application

In this example, select "IAC Driver To Logic" as MIDI output port in the MIDI Harmonizer.

midi_output_harmonizer

3: select the virtual port as input port in the receiving application

In your receiving application, select the virtual port as MIDI input port. In Logic, the new virtual port is automatically added to all input ports and automatically fed into the sequencer.

4: route the virtual input port to your sequencer in Logic

To avoid duplation of incoming notes in Logic, you would have to make sure only input from the  virtual port is routed into Logic. By default, the sum of all input ports are routed into Logic. The problem with this can be that both the physical MIDI input port used as input for your sending application (e.g. the MIDI Harmonizer input) as well as the input from the virtual port (e.g. the MIDI Harmonizer output) are being fed into Logic, in this case duplicating the original input note in Logic.  

In Logic Pro click on Window | Environment and select Click & Ports from the drop-down list in the upper left corner. Make sure you only have a cable running from your desired virtual port in the Physical Input box towards other objects in your Environment, the SUM output should not be used. In this example route a cable from the "To Logic" port to the Input Notes object. That's it!

Logic_routing

 

 

 

About me

I like music, especially making music. I listen to a lot of different stuff, but I like soul, jazz and fusion music most. I like to develop and experiment with tools to make music performance and improvisation on the spot more exciting. It is fun when unexpected musical things happen during a performance!

In recent years I developed the MIDI real-time Harmonizer, a tool for generating harmonized chords when playing a solo line. Inspired by the work of saxophonist Michael Brecker, I started to develop this tool to run on Mac and PC. Brecker played the Electronic Wind Instrument and used the Oberheim Xpander synth to generate random chords from an EWI solo line. Now you can accomplish the same thing with the MIDI real-time Harmonizer driving your own favourite (plugin) synths.

rss twitter youtube soundcloud facebook linkedin google