BlackHole: Set up Computer audio to Stream on Twitch through OBS

Recently, I’ve been putting in more time into streaming more consistently. One issue I’ve run into multiple times is not being able to play videos when I’m streaming, because the audio wouldn’t pass through to my viewers unless I don’t have headphones on. So today, I installed and set up BlackHole, a virtual audio driver.

I’m a complete beginner at streaming, so to me, it confused me that there’s not a button to press or a toggle to toggle to get the sound to pass through. But apparently it’s just a “thing” you have to deal with, by installing a virtual audio driver. I guess there’s a reason why we hired AV professionals to help with setting up our Town Halls!

Installing BlackHole

I use OBS to stream to Twitch on my MacBook Pro. My video input source is generally my Logitech BRIO, and my microphone is my Sony WH1000XM3 headphones.

A Twitter friend recommended “BlackHole” to help fix the issue of not being able to stream my computer’s sound. So I installed it by following the directions on their GitHub page.

You can download the installer for free by going to the Existential Audio website.

It’s available for Windows and Macs, and it’s described as: “an open source virtual audio driver that allows applications to pass audio to other applications with zero additional latency.”

I just had to download the installer, and it ran through without having to do things like installing via Homebrew.

So far, so good!

Setting up Multi Output Device

This was the “meat” of the setup. The official BlackHole Github has a good tutorial: Multi Output Device.

Basically, you add a new “Multi-Output Device” in “Audio MIDI Setup.”

I created 2 “Multi-Output Devices” that use BlackHole. One for my MacBook Speaker, and another for my Headphones.

  • MacBook + BlackHole (MacBook speaker)
  • WH-1000XM3 + BlackHole (headphone)

⚠️ One thing to note is that, like it says in step 4 of the Multi Output Device tutorial, you have to make sure that “MacBook Pro Speakers” (or “Built-in Output) is on top of the list. I didn’t make sure that happened, and the first time I played a video, the computer made some very horrible sounds.

If you find that “BlackHole 16ch” is above “MackBook Pro Speakers,” then simply uncheck the “BlackHole 16ch,” which will automatically raise the “MacBook Pro Speakers” to the top. Then recheck.

Adding BlackHole as Input Source in OBS

To add BlackHole as an Audio Input Source in OBS, select the “Scene” you want to stream with, and add ( + ) a new “Audio Input Capture.”

Name the new Audio Input Capture source whatever you want. I tend to make the names very specific, so I just named it “BlackHole.”

Then select BlackHole 16ch as an audio input source.

Now, go to your Sound in System Preferences, and make sure your Sound Output is set to your brand new BlackHole Multi-Output Device.

As I mentioned before, I have one for when I have my headphones on, and when I don’t, so I have 2 options.

Now, when you play music or a video on your computer, your BlackHole should react, showing that the sound is streaming!

One thing I’ve found is that when I set my microphone in OBS to my headphones, the video audio passing through from the audio becomes extremely distorted (like cavemen grunting).

It plays video audio normally when it’s my Logitech BRIO (webcam) microphone or my MacBook Pro microphone, so I don’t really know what the issue is. Some people suggested that it might be due to mismatch between my headphone sample rate and the virtual driver’s sample rate. It’ll be something I experiment with in the future!

? Check me out on Twitch and YouTube! ?

Hiroko Nishimura
AWS Community Hero. Special Education teacher turned IT Engineer turned Technical Writer. Author "AWS for Non-Engineers" (Manning Publications). Technical Instructor "Introduction to AWS for Non-Engineers" (LinkedIn Learning).

5 thoughts on “BlackHole: Set up Computer audio to Stream on Twitch through OBS”

  1. Fiddling with “monitor only,” “monitor and output,” “mute,” etc. in advanced audio doesn’t work? (I’m on Windows…) Wondering if I’m correctly understanding the issue.

Leave a Comment