Longtime Mac users who have any level of need for professional audio tools have probably encountered veteran developer Rogue Amoeba and their suite of tools. I use Audio Hijack Pro, Loopback and Farrago as the core of our workflow on Zippy the Wonder Snail. A series of little discoveries moved me to making those tools my one-stop-mic-enhancement shop for OBS Studio and beyond.
It all started a few months ago when I was recovering from a nasty flu ahead of recording an episode of Zippy the Wonder Snail. While I usually use a nice condenser microphone in a carefully isolated space to produce something approximating studio quality recording, I found myself lying on my bed, coherent enough (maybe) to record, but certainly not using anything (even possibly) approximating a studio microphone.
The result was as messy as one might expect: the whirl of the laptop fan in the background of the track made it seem almost unusable. My co-host Jason and I typically use Microsoft Teams to coordinate our podcast recording and no one would accuse Teams of being lightweight. While my office’s M1 Mac mini manages to avoid noticeable fan noise even with Teams, my Intel-sporting laptop made its strain quite audible.
Always one for redundancy, I used Audio Hijack Pro to record not just from my laptop’s microphones (I know veteran podcasters are wincing right now), but also a second source for podcast audio from my Apple AirPods Pro (wincing further). If the one recording sounded like I was broadcasting from a wind tunnel, the other was mimicking a poor telephone call.
It just so happened that I had updated Final Cut Pro before this incident and the latest release added what Apple calls Sound Isolation, a feature the company has been gradually exposing in various parts of MacOS such as FaceTime. While FCP is a video editor, on a whim, I imported my audio into Final Cut and discovered that Apple’s machine learning-powered sound isolation did what previous noise removal tools I’ve tried — even the ones in Adobe’s Audition — couldn’t do: it removed almost all the fan noise with minimal violence done to my voice’s tone.
Over the subsequent weeks, I edited several more podcast episodes the same way. Clunky, but workable to get decent audio from not-so-decent sources.
Then a series of fortunate discoveries converged. First, my preferred podcast editing tool — Ferrite — came out with a new version. Apple’s Sound Isolation “audio unit” isn’t technically limited to Apple software but available to third parties and Ferrite added support. I could skip the weird journey into a video editor to fix audio and apply it directly in Ferrite.
That made me curious where else it might show up. Audio Hijack Pro does a lot more than capture audio from apps. It can capture it from input devices (e.g. microphones) and it can apply filters, including Apple Audio Unit filters, to the audio it grabs before doing something else with it. I wondered: could it be that Sound Isolation could be there, too? Indeed, it is: any audio going through Audio Hijack can be pushed through the AUSoundIsolation “block,” which even sports a nice slider to move between more “wet” (less noise removed) and “dry” (more removed up to the point of painfully sterile at its extreme). Audio Hijack’s support for Apple’s sound isolation offers an intriguing possibility for recording audio in a noisy place: the app can — in almost real-time — remove noise such as the whirl of computer fans, street noise and record it.
Arguably, this may not be the wisest idea since the filter going awry would ruin the “master recording.” I’ve stuck to applying AUSoundIsolate in post-production editing in Ferrite for podcasting, just to be safe — I can roll it back if I don’t like how it filtered (not necessary thus far, happily). Alternately, with Audio Hijack Pro, one could choose to save both the filtered and unfiltered audio by having two output blocks (see illustration). Getting a near-perfect output before one even starts editing certainly makes editing easier!
All of this leading to what the title teased: real-time sound isolation for livestreaming. While I’ve managed to create a relatively quiet live streaming setup for the Monday evening sermons I have preached online the last three years, I have had to balance trying to get a quiet setup with avoiding breaking the bank. I’m not a YouTube influencer with sponsors to buy equipment, after all.
The heart of the setup is a super quiet M1 Mac mini, but I use several decade-ish old Macs to do visuals and such for the stream and their fans come through on a sensitive microphone. Sound dampening materials can only do so much in my present space to rectify that.
What if I could apply AUSoundIsolation in OBS Studio, the livestreaming software?
Fresh from finding the filter in both Ferrite and Audio Hijack, I dug through OBS’s audio filters only to discover that OBS doesn’t support Apple audio units natively, unlike Audio Hijack and Ferrite. So, while I could apply audio filters of other sorts, the nearly miraculous output of Apple’s Sound Isolation tool was off the table. Or so I feared.
Astute users of Rogue Amoeba’s software probably can see where this is going. I started reading through the documentation of Audio Hijack and its sister program, Loopback, to see if there were some way to get things filtered before pouring the audio into the livestreaming program.
Loopback is a tool that can appear confusing and unexciting at first glance, but is endlessly useful. It can create virtual audio devices combining, and splitting out, parts, then outputting in a mindboggling variety of ways. For this project, I wanted something simple: a “pass-through” device that Audio Hijack could output to that would appear to be a microphone as far OBS Studio was concerned. That’s no problem in Loopback.
From the Audio Hijack side, I could then grab audio from whichever microphone I happened to be using at the time, apply any filters I might want (not just AUSoundIsolation, though certainly that) and then output that to the new Loopback “pass-through.” At that juncture, any application that supports microphones on the system can receive the filtered audio.
After using this setup for well over a month to clean up my audio just to my liking for livestreaming, video conferences, and pretty much anything else I can think of, I still find myself struggling to believe how well it works.
At least on any Apple Silicon computer, Sound Isolation can happen so quickly as to appear to be real time. There are no issues, for example, with audio getting delayed and making the video appear out-of-sync with the audio. There is a tiny delay, which I found accidentally when I tried to mix filtered and non-filtered audio to get just the right amount of warm in the recording — it created a nasty echo — but outside of blending filtered and non-filtered audio, the results happen imperceptibly.
(As an aside, a very similar Audio Hijack configuration using its “Magic Boost” block does a fantastic job of evening out audio in video conferences if you find some participants are loud while others are soft.)
This whole column could be in praise of Apple’s machine learning work with AUSoundIsolation — it should get way more hype than I’ve seen anyone give it. I can’t help but focus on Audio Hijack Pro and Loopback, though. These two apps made applying audio adjustments to live audio so incredibly accessible to mere mortals like me without any high end studio equipment and that is the kind of rogue path I can get excited about.