How to use BlackHole instead of Loopback (free alternative)

For all who want to try BlackHole instead of Loopback, do this to generate as many virtual audio devices as you want. By the way, I’m not a programmer, but I found this very useful/helpful:

  • Visit https://github.com/ExistentialAudio/BlackHole and “download” the ZIP. Open the Xcode-Project.
  • Go to the tab “signing and capabilities” (this has to be done once. You can find it on the left side at the file browser by clicking on the very top “BlackHole”. Then it appears.)
  • Select your apple-id (if it’s not registered as a developer, do this before: it’s free.)
  • Select at the top middle of the Xcode main program window “my Mac” and change it to “any Mac”, then you’re able to use the built diver file on intel and Apple Silicon devices.
  • Then click on “h BlackHole” at the file browser on the left side.
  • Then change 5 Variables:

FROM

#define                             kBox_UID                            "Blackhole%ich_UID"
#define                             kDevice_UID                         "BlackHole%ich_UID"
#define                             kDevice_ModelUID                    "BlackHole%ich_ModelUID"
#define                             kDataSource_ItemNamePattern         "BlackHole %ich"
#define                             DEVICE_NAME                         "BlackHole %ich"

TO

#define                             kBox_UID                            "mimo2zoom%ich_UID"
#define                             kDevice_UID                         "mimo2zoom%ich_UID"
#define                             kDevice_ModelUID                    "mimo2zoom%ich_ModelUID"
#define                             kDataSource_ItemNamePattern         "mimo2zoom %ich"
#define                             DEVICE_NAME                         "mimo2zoom %ich"

If you want to use more than two channels, you can add em by manipulating this variable:

FROM

#define                             NUMBER_OF_CHANNELS                  2
#

TO (e.g.)

#define                             NUMBER_OF_CHANNELS                  16
#

Now, hit the build button ( It’s the Play-Button at the top left.)

  • Then, select “Product” from menu and open the Product-Folder in finder.
  • Rename the File BlackHole.driver to mimo2zoom.driver
  • Repeat all of this with - for instance - zoom2mimo instead.
  • Finally copy your two virtual drivers to /Library/Audio/Plug-Ins/HAL
  • Restart the Mac, or use terminal-command to restart core audio (if you know it).

Notice:

  • Use one virtual Driver for one direction/use case! Do not mix em up. In analogy: You cannot use the same input as an output on a BMD-Decklink-Card (at least not simultaneously. :smiley:
  • This TUT is based on Xcode 13.1, but you can use this - as I know - in any version of Xcode. (In older Versions, the “Products”-Folder is directly on the bottom of left side available (at the file browser).
  • In versions before Apple Silicon, you may not have the option to be made for “any Mac”.
  • Most of the Apps like zoom do not support more than 2 channels. So, if you generate a device with more than two channels, use it to route Audio between several mimoLive documents. :slight_smile:

How to uninstall a virtual driver?

  • Go to /Library/Audio/Plug-Ins/HAL
  • Delete/Remove the .driver-Package(s) you created
  • Restart the Mac, or use terminal-command to restart core audio (if you know it).
1 Like

Thanks for sharing those insights!

1 Like

You’re welcome. With this, a ‘green room’ is easy to do. It’s not only good for zoom2mimo- and mimo2zoom-mixed-minus. It’s very powerful!! :heart_eyes:

1 Like

These instructions are a bit scant for a first time Xcode user. I haven’t used it in many years, so here’s what I had to do. Using the current Xcode beta — Version 13.2 beta 2 (13C5081f).

Open the project.xcworkspace file to open the Blackhole project window.

Add your developer account login details to Xcode, goto Xcode Menu> Preferences… ( the second tab of Xcode prefs). Add account(s) for code signing.

As above, click on the root level container of the Blackhole project in the left-hand sidebar to show the tabs, then click on the Signing and Capabilities tab.

.

You can copy each line of source code and use Find to highlight it in code then copy the replacing line and paste that over it.

Just restarted… it worked.

1 Like

Thx for sharing your experience with it. I’m a non-Xcode user at all, describing what I saw on screen while fiddeling and diddeling the original info of BlackHole’s 20 pages wiki together. :joy::joy: I’m glad it worked for you too. Thx for detailed info about the dev-part.

1 Like

thanks, good enough instructions to be honest, I got there eventually! just making it easier for next person who comes along. this is really valuable since SoundFLower stopped working for many of us due to macOS upgrades.

Wooohoo! I’m amazed. I hope all other no-programmers feel inspired to try it. It not only saves bugs, it’s fast repeated, when new virtual devices are in need.

1 Like

yes in my opinion this is easier, once st up, than using Loopback, which can get a bit confusing at times!