I’ve been in the professional audio space for quite some time now, and BlackHole is my go to recommendation if you need to access the system audio on your Mac. In this article we’ll go over how to install BlackHole and how we can use it to record the system audio on our M1 Macs.
What is BlackHole for MacOS?
BlackHole is a modern, open source virtual audio driver for MacOS. It is developed by Devin Roth / Existential Audio, and is commonly used to route audio to different applications. Since MacOS does not provide a native way for users to get the internal/system audio, a third party solution (BlackHole) is required.
BlackHole offers a suite of professional features for grabbing audio data:
- Supports 2, 16 or 64 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.
How to Install BlackHole on M1 Macs
In order to install BlackHole, we have a couple options. For the standard way to install, you can download the installer. However, you can also install with Homebrew. If you are unfamiliar with Homebrew, you can check it out here (it’s a really awesome package manager that you can download and update software easily).
Install BlackHole with the Downloadable Installer
As a free open source software, BlackHole is offered on GitHub and you can download the source code directly from the releases page here. However, for installation we will want to go to Existential Audio’s website to get the latest installer. This will require you to input your email and name to get a link to the download. If you prefer to keep your data private, I would recommend using Homebrew to install BlackHole.
After you have downloaded the installer, go ahead and follow the instructions to install the audio driver.
Install BlackHole with Homebrew
Once you have Homebrew installed, open up terminal (you can do this by pressing Command + Space and typing in “Terminal”) and type the following into terminal and hit enter for 2 channel BlackHole:
brew install blackhole-2ch
And for 16 channel:
brew install blackhole-16ch
Check to Make Sure BlackHole is Installed
Once you have installed BlackHole, you can check to see if it is installed correctly by seeing if it shows up in your audio midi setup. Audio Midi Setup can be found by going to Applications > Utilities > Audio Midi Setup (or by pressing Command + Space and searching for it).
How to Record System Audio on M1 Mac with BlackHole
Now we are ready for the fun stuff. In order to record the system/internal/desktop audio on your M1 Mac, we are going to need a digital audio workstation (DAW). Audacity is a popular free and open source option so we will use this in our example. However, the steps for any other application will be roughly the same.
Create a Multi-Output Device on your M1 Mac
While there are some downsides to the Macs audio system, there is also a huge benefit of creating multi-output devices and aggregate devices. This will allow you to output the sound to multiple devices at once.
Open the application “Audio Midi Setup” (comes with every Mac) and create a new “Multi-Output Device” by clicking the bottom left “+” button.
Inside the Multi-Output Device, we need to select each output you would like to add. To record the system audio, we want to make sure that BlackHole 2ch is selected, as well as the method we will use to hear the audio (MacBook Speakers, Headphones, etc.).
This is telling the Mac to send all the audio data to both the BlackHole device (so the data can be read by another program) and the speakers/headphones so the user can also hear the audio. If you try to output the sound strictly to BlackHole, you will be able to record the audio but won’t be able to hear it. Likewise, if the audio is only output to the listening device and not BlackHole, you will be able to hear the audio but can’t record it.
Once BlackHole and the Speakers have been selected, Audio Midi will automatically update the drift correction and master device settings. Leave these settings as is, they are to prevent the audio from glitching by becoming out of sync.
Set M1 Mac’s Default Audio Output as Multi-Output Device
Now that we have our multi-output device ready, it needs to be set as the Mac’s system default output. This can be done by opening System Preferences > Sound > Output > Select “Multi-Output Device”. This tells the Mac to output the entire system audio to both of these output devices.
Set Audacity’s Input to BlackHole
Inside Audacity, set the input device to BlackHole.
Then, we can press the red record button and play some audio on our Mac. If the recording is successful you will see the audio data being recorded inside the application, while still being able to hear it through the speakers.
And that’s all there is to it! Play back your audio inside to make sure it’s working. The process for other DAWs will be the same as this, but Audacity is a great choice for beginners.
This is the same technology I use to make my app, AVTouchBar, work. I do this with code behind the scenes so everything is automatically setup with the press of a button. But if you have a touch bar, you should check out my audio visualizer app, AVTouchBar here!
Jake is a professional baseball player that was drafted by the Toronto Blue Jays in 2016. He played in the minor leagues for the Blue Jays for 5 years until he was drafted by the Miami Marlins in the rule 5 draft in 2020. In his spare time, he enjoys creating technology videos on YouTube and pursuing creative technologies including an audio visualizer for the touch bar on MacBook Pros.