Questions

How to create a virtual MIDI port on a Mac

Turn on the IAC Driver. In Audio MIDI Setup, choose Window, Show MIDI Studio, double-click IAC Driver, select Device is online and add a bus. That bus is a virtual MIDI port, a cable with both ends inside the Mac, and every app can send to it and listen to it. Two other kinds exist: a network session, which joins two computers, and a port that an app creates for itself while it runs.

The first two are Apple's and ship with macOS. I make InputConfig, a free Mac app that has a port of the third kind.

On this page: 8 sections
  1. Steps
  2. Pick the kind of port
  3. Make an IAC bus, the virtual MIDI cable
  4. Join two computers with a network session
  5. Use a port an app makes for itself
  6. Check that the port is really there
  7. The short version
  8. Questions

Steps

  1. Open Audio MIDI Setup and choose Window, Show MIDI Studio.
  2. Double-click IAC Driver and select Device is online.
  3. Add a bus with the Add button below the list of ports, then click Apply.
  4. Pick the bus as the output in the sending app and as the input in the receiving app.

Pick the kind of port

You want toUseWhere it lives
Send MIDI from one app to another on the same MacAn IAC Driver busAudio MIDI Setup, MIDI Studio, IAC Driver
Send MIDI between two computers, or to an iPhone or iPadA network sessionAudio MIDI Setup, MIDI Studio, Configure Network Driver
Use an app that sends MIDI by itselfThe app's own portCreated by the app while it runs

For two apps on one Mac, the IAC bus is almost always the one you want.

Download InputConfig on the Mac App StoreInputConfig is free on the Mac App Store. macOS 14 or later, no account, no tracking, open source.

Make an IAC bus, the virtual MIDI cable

  • You: In MIDI Studio, double-click IAC Driver, select Device is online, click the Add button below the list of ports, then click Apply.
  • The Mac: Adds the bus as a MIDI port that any app can use as a destination or as a source.
  • Check: The bus is listed in a music app's MIDI inputs and outputs.

Apple's guide calls it a bus and notes that it is sometimes called a port. One app sends to the bus and another listens to it, which is all a MIDI cable does. Apple's page is Transfer MIDI information between apps, and the IAC Driver on a Mac covers buses in more depth.

Join two computers with a network session

The Mac's MIDI network driver carries MIDI over Wi-Fi or Ethernet. In MIDI Studio, click Configure Network Driver, add a session under My Sessions, turn on Enabled, and connect the other computer. A session behaves like a MIDI cable between two machines. MIDI over a network on a Mac has every step.

Use a port an app makes for itself

An app can publish a MIDI port of its own. It appears in other apps' MIDI settings while that app runs and goes away when it quits. InputConfig works this way: its port is named InputConfig, music apps see it whenever the app is running, and it keeps the same identity each time, so a DAW that has it switched on leaves it on. A port that an app creates needs no setup in Audio MIDI Setup. MIDI output lists what InputConfig sends through it.

Check that the port is really there

  • In a music app. Open its MIDI settings and look for the bus or the session in the list of inputs.
  • In a browser. Open the MIDI tester in Chrome, Edge or Firefox and press Start listening. It names every MIDI input the browser can see and shows each message that arrives.
  • From the sending side. Open the virtual MIDI controller, choose the bus as its output and press a pad.

Send one note down the new port before you build anything on it.

The short version

  • Between apps. An IAC Driver bus.
  • Between computers. A network session.
  • From one app. The port it makes for itself.

All three are free, and the first two are already on the Mac.

Questions

How do I create a virtual MIDI port on a Mac?

Open Audio MIDI Setup, choose Window, Show MIDI Studio, double-click IAC Driver, select Device is online, add a bus and click Apply. The bus is a virtual MIDI port every app can use.

Does a Mac have a virtual MIDI cable?

Yes. The IAC Driver, part of macOS, passes MIDI between apps on the same Mac. It is in Audio MIDI Setup.

Do I need extra software for a MIDI loopback on a Mac?

No. An IAC Driver bus is a loopback port: whatever one app sends to it, another app can receive.

Why does my virtual MIDI port not show up in my DAW?

Check that Device is online is selected for the IAC Driver and that the bus was applied, then enable the bus as an input in the DAW's MIDI settings. A port made by an app exists only while that app runs.

Can a web page use a virtual MIDI port?

Yes, in Chrome, Edge and Firefox. A page that uses Web MIDI can send to an IAC bus and listen to one. Safari does not offer MIDI to web pages.

Download InputConfig on the Mac App StoreFree. macOS 14 or later. No account, nothing leaves your Mac. Open source on GitHub.

Updated