/BlackHole

BlackHole is a modern macOS virtual audio driver that allows applications to pass audio to other applications with zero additional latency.

Primary LanguageCGNU General Public License v3.0GPL-3.0

BlackHole: Virtual Audio Driver

Platform:macOS GitHub GitHub Build Status Twitter Facebook

BlackHole is a modern MacOS virtual audio driver that allows applications to pass audio to other applications with zero additional latency.

Funding

Sponsor: https://github.com/sponsors/ExistentialAudio

Current Funding: $137 per month.

Goals

  • $50 per month. Create installer for BlackHole 2ch that will work along side BlackHole 16ch. (complete)
  • $100 per month. One new detailed setup guide for each DAW.
  • May: Logic Pro X
  • June: GarageBand
  • July: Audacity (in progress)
  • August: Record System Audio with Quicktime (in progress)
  • September: Record System Audio with Screen Capture. (in progress)
  • $200 per month. One video tutorial per month.

Table of Contents

Features

  • Supports 16 audio channels.
  • Customizable to 256+ channels if you think your computer can handle it.
  • Supports 44.1kHz, 48kHz, 88.2kHz, 96kHz, 176.4kHz, and 192kHz sample rates.
  • No additional driver latency.
  • Works on macOS 10.10+ including macOS 10.15 Catalina

Image of BlackHole Audio Driver

Easy Installation Instructions

  1. Download Installer
  2. Close all running audio applications
  3. Open and install package

Install via Homebrew brew cask install blackhole

For more details visit https://github.com/ExistentialAudio/BlackHole/wiki/Installation

Visit the Wiki for application specific setup.

Usage Examples

Record System Audio

  1. Setup Multi-output Device
  2. In Audio Midi Setup->Audio Devices Right-click on the newly created Multi-output and select "Use This Device For Sound Output"
  3. Open digital audio workstation (DAW) such as GarageBand and set input device to "BlackHole"
  4. Set track to input from channel 1-2
  5. Play audio from another application and monitor or record in your DAW.

Route Audio Between Applications

  1. Set output driver to "BlackHole" in sending application
  2. Output audio to any channel
  3. Open receiving application and set input device to "BlackHole"
  4. Input audio from the corresponding output channels

Advanced Installation Instructions

  1. Build driver in Xcode
  2. Copy BlackHole.driver to /Library⁩/Audio⁩/Plug-Ins⁩/HAL
  3. Restart CoreAudio with terminal command sudo launchctl kickstart -kp system/com.apple.audio.coreaudiod

Uninstallation Instructions

Download Uninstaller

or manually uninstall

  1. Delete BlackHole.driver by running rm -fr /Library/Audio/Plug-Ins/HAL/BlackHole.driver NOTE: The directory is in /Library not user/Library
  2. Restart CoreAudio with terminal command sudo launchctl kickstart -kp system/com.apple.audio.coreaudiod

Need more help? Visit the wiki.

Feature Requests

If you are interested in any of the following features please leave a comment in the linked issue. To request a features not listed please create a new issue.

FAQ

Why isn't BlackHole showing up in the Applications folder?

BlackHole is an audio interface driver. It only shows up in Audio MIDI Setup, Sound Preferences, or other audio applications.

How can I listen to the audio and use BlackHole at the same time?

Setup a Multi-Output Device

How can I change the volume of a Multi-Output device?

Unfortunately macOS does not support changing the volume of a Multi-Output device but you can set the volume of individual devices in Audio MIDI Setup.

How can I use BlackHole with Audacity in Catalina?

Audacity only works with macOS Catalina as of Audacity version 2.4.1 in May 2020. If you have an older version, you will need to upgrade to the latest release.

Why is nothing playing through BlackHole?

  • Check System Preferences -> Security & Privacy -> Privacy -> Microphone to make sure your digital audio workstation (DAW) has microphone access.

  • Check that the volume is all the way up on BlackHole input and output in Audio Midi Setup.

  • If you are using a multi-output device, due to issues with macOS the Build-in Output must be enabled and listed as the top device in the Multi-Output. https://github.com/ExistentialAudio/BlackHole/wiki/Multi-Output-Device#4-select-output-devices

Where is /Library/Audio/Plug-Ins/HAL/?

Chances are you are looking in ~/Library/ or user/Library/ instead of /Library.

Can I integrate BlackHole into my app?

BlackHole is licensed under GPL-3.0. You can use BlackHole as long as your app is also licensed as GPL-3.0. For all other applications contact me directly at devinroth@existential.audio.