I needed to write music to a trapeze performance of a friend of mine, who lives some 500 kilometres away. I could’ve used the microphone of the laptop, and let it record the stuff from speakers, but that would’ve resulted in lousy audio quality. So, I started looking for a way to get audio from Ableton Live to Skype. BlackHole audio’s guide helped some of the way, and since I knew I would likely need to do this again, I might as well document the setup process. The same setup will work on various other cases as well.
Install Existential Audio BlackHole
Download and install BlackHole audio virtual audio device, which will allow you to to route and combine audio from multiple applications to the ones you want. The beautiful people at Existential Audio have written a guide on how to create a Multi Output Device, which you will need to route audio from Ableton Live to your video conference application of choice (Skype, Zoom, Slack, etc.).
Create a new Multi Output Device using the Audio MIDI Setup application that ships with macOS (it’s a separate app, not a setting in the system preferences). The reason to creating the multi output device is to let yourself hear what you’re sending to other applications. This is important, because you need to hear what you’re playing, and know what the others are hearing. I renamed my multi output channel as Ableton -> Skype, for clarity.
Route audio from Ableton Live to virtual audio device
The first step to getting your conference call app to be able to listen to the audio from other apps, is to send the audio from the desired apps to a virtual audio device, which will then be set as the audio source for the video calling application.
Choose your newly created virtual audio device as the audio output device in Ableton Live.
Make sure you have a speech/vocal recording channel in Ableton Live, which is armed (recording enabled), and that it’s directly monitoring the audio (“Monitor” set to “Auto”). This will enable you to speak to others (or sing live) while you’re playing stuff from Ableton.
Adjust microphone settings in your conference calling application
In Skype, Zoom, Slack and many others, you can manually choose which audio device is used to record audio. You will have to your application to listen to a virtual audio device – in this case, BlackHole 16ch virtual audio device. Skype may not see all of your virtual devices as you have set them up in the Audio MIDI setup dialog in macOS. If this is the case, then you might want to select the default device, since it will then listen to the system-wide settings. You can then choose the settings from the macOS audio input and output settings, through the System Preferences, or the quick dialog, alt-clicking the speaker symbol in the top right corner of macOS.
In Skype’s audio settings, choose BlackHole as the audio source, or use default device, and adjust it from the macOS system settings.
Alt-clicking the audio symbol in macOS lets you choose the input and output devices. Skype and other applications follow this setting by default. Virtual devices are shown in the list along with physical devices. You may want to have separate system-wide settings, and choose the output in Ableton Live differently, according to your needs.
Combine more audio sources
You don’t have to settle for just Ableton Live as your audio source application, you can add Chrome, Spotify or other apps too, if you want to play some reference songs, for example.
SoundFlower is dead, long live BlackHole
SoundFlower used to be the best way to do this, but it hasn’t been updated in years. It’s no longer a reliable option for macOS. BlackHole seems to be a functional alternative to SoundFlower, and they sure deserve your donation, if you get your virtual audio routing set up using BlackHole.
I hope you got something out of this guide. I was trying to use Audio Hijack to do this at first, but turns out that it can only record stuff. The expensive, albeit a very handy way to do this, is to use Rogue Amoeba’s Loopback, but I found that solution to be way too expensive for what I had in mind. Gameplay streamers may find that option to be better, though, as it will make routing audio in complex situations very easy.