BlackHole: Virtual Audio Driver
BlackHole is a modern MacOS virtual audio driver that allows applications to pass audio to other applications with zero additional latency.
Download Installer
Funding
Sponsor: https://github.com/sponsors/ExistentialAudio
Table of Contents
- Features
- Installation Instructions
- Uninstallation Instructions
- Guides
- Advanced Customization and Installation
- Feature Requests
- FAQ
- Wiki
Features
- Supports 2 or 16 audio channels versions.
- Customizable to 256+ audio channels.
- Supports 44.1kHz, 48kHz, 88.2kHz, 96kHz, 176.4kHz, and 192kHz sample rates.
- No driver latency.
- Compatible with macOS Mavericks (10.9) to macOS Big Sur (11).
- Built for Intel and Apple Silicon.
Installation Instructions
Option 1: Download Installer
- Download Installer
- Close all running audio applications
- Open and install package
Option 2: Install via Homebrew:
- 2ch:
brew install blackhole-2ch
- 16ch:
brew install blackhole-16ch
Uninstallation Instructions
Option 1: Use Uninstaller
Option 2: Manually Uninstall
- Delete BlackHoleXch.driver by running
rm -R /Library/Audio/Plug-Ins/HAL/BlackHoleXch.driver
NOTE: The directory is in/Library
notuser/Library
- Restart CoreAudio with terminal command
sudo launchctl kickstart -kp system/com.apple.audio.coreaudiod
For more specific details visit the wiki.
Advanced Customization and Installation
There are a number of options available to customize BlackHole including number of channels, names, running multiple drivers, and latency. Visit the Wiki for details.
Guides
Logic Pro X
GarageBand
Reaper
- Reaper to Zoom by Noah Liebman (https://noahliebman.net/2020/12/telephone-colophon-or-how-i-overengineered-my-call-audio/)
Record System Audio
- Setup Multi-output Device
- In
Audio Midi Setup
->Audio Devices
Right-click on the newly created Multi-output and select "Use This Device For Sound Output" - Open digital audio workstation (DAW) such as GarageBand and set input device to "BlackHole"
- Set track to input from channel 1-2
- Play audio from another application and monitor or record in your DAW.
Route Audio Between Applications
- Set output driver to "BlackHole" in sending application
- Output audio to any channel
- Open receiving application and set input device to "BlackHole"
- Input audio from the corresponding output channels
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.
- Sync Clock with other Audio Devices in development see v0.3.0
- Output Blackhole to other Audio Device
- Add Support for AU Plug-ins
- Inter-channel routing
- Record Directly to File
- Configuration Options Menu
- Support for Additional Bit Depths
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?
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.
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 Built-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
What Apps Don't Work with Multi-Outputs?
Unfortunatley multi-outputs are pretty buggy and some apps just won't work with them at all. Here is a list of known ones. If you have more to add please let me know.
- Apple Podcasts
- Apple Messages
- HDHomeRun
Why does Multi-Outputs crash every 20 minutes on Apple Silicon?
Multi-Outputs have always been buggy and now it looks like Apple has abandoned them officially. Instead use BlackHole as system output and Audacity with BlackHole input, speaker output and enable monitoring. https://forum.audacityteam.org/viewtopic.php?t=83137
Another solution that some people have found to work is disable Drift Correction on the multi-output.
Read the discussion. ExistentialAudio#227
AirPods with an Aggregate/Multi-Output is not working.
The microphone from AirPods runs at a lower sample rate which means it should not be used as the primary/clock device in an Aggregate or Multi-Output device. The solution is to use your built-in speakers (and just mute them) or BlackHole 2ch as the primary/clock device. BlackHole 16ch will not work as the primary since the primary needs to have 2ch.
Read the discussion. ExistentialAudio#146
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.