Six Colors
Six Colors

This Week's Sponsor

Magic Lasso Adblock: YouTube ad blocker for Safari


By Jason Snell

Meet Audio Hijack 3, my new favorite audio utility

hijack-wide

Rogue Amoeba has announced the release of Audio Hijack 3, the successor to the venerable Mac sound utility Audio Hijack Pro. This is a huge update—the first major one for Audio Hijack in ten years—and so comprehensive that this feels more like a successor to the old Audio Hijack rather than a continuation.

I’ve been using Audio Hijack 3 in beta for six months now, for uses personal and professional, and I couldn’t be more impressed. This is a beautifully designed product that combines a clever and intuitive user interface with awesome power and versatility. It will appeal to podcasters, audio pros, musicians, and just about anyone else who needs to push their Mac’s audio capabilities past the meager sound features offered by OS X itself.

Audio Hijack 3 costs $49 for new users, but owners of any past product with “Audio Hijack” on the label will be able to upgrade to Audio Hijack 3 for $25. And anyone who’s bought Audio Hijack since this blog post 11 months ago will get it for free.

The grid, an audio frontier

Audio Hijack 3’s home window features three tabs. The first, Sessions, is where you create new sessions or double-click to open and edit existing ones. The second, Recordings, provides a log of all the times you’ve used each session and gives you access to the resulting output files. The third, Schedule, lets you set triggers so a specific schedule can be executed at a given time.

Sessions are where the magic happens. At the heart of Audio Hijack 3’s sessions editor is the audio grid, a flow-chart-style window that lets you determine everything that happens when you press the big red button and start recording audio. On the right side of the window is a catalog of the program’s features, in multiple categories. Start with a Source, which could be a specific app, input device, or all the audio being played on your Mac. Then add in effects (there are 13 included in the app, plus you can add in any Audio Unit plugins), meters (which provide a visual cue that something’s being recorded), and finally Outputs, which can channel all your audio to a specific audio device or record it to a file.

As you drag blocks into the grid, they’ll connect to one another, creating a workflow. But you can easily reorder the workflow, pulling blocks apart and rearranging them until you get just the effect you want. You can even have sets of blocks that don’t connect at all. (For example, you could set up a session that takes all four inputs on a USB mixer and records them to separate audio files, all in sync. I’ve been looking for a simple tool to do that for years.)

This session records three different hardware inputs to separate audio files and then routes their audio to a single hardware output.

Here’s a real-world example. As a podcaster, I sometimes want people on the other end of the Skype connection to hear not only my voice, but sounds played by Ambrosia Software’s SoundBoard app. With Audio Hijack, I was able to create a session that captures Soundboard audio to an MP3, routes that sound into my headphones so that I can hear it, and then sends the sound to Static Z software’s Sound Siphon virtual input. The same session is also capturing the audio from my microphone and routing that audio to Sound Siphon. Then all I have to do is select Sound Siphon as my Skype audio input, and I’ve solved a problem that has vexed me since the update to OS X Lion killed WireTap Anywhere.

A longtime frustration, solved.

I know that sounds insanely complicated, and it did take me a few minutes to plot out, but in Audio Hijack 3 it actually looks simple. And when I press the big red Record button, not only does it all work, but the lines connecting the individual blocks on the audio grid pulsate along with the audio, reinforcing that it’s all working properly. And if I have an audio problem—say, one of the inputs is a bit too quiet—I can drop in an effect like the built-in Volume block in order to boost or reduce the sound before it reaches the recorder, speakers, or both.

Audio Hijack’s mastery of a Mac’s disparate audio inputs and outputs is amazing. OS X itself is pretty poor when it comes to this stuff—you can set a single input and output in the Sound preference pane, and some apps will let you override those settings to route audio elsewhere, but others won’t. If you’re trying to send some sound from some apps or microphones to one location, and others to another, it can all fall apart rather spectacularly. With Audio Hijack 3, it’s all there in blocks. You just need to drag them in and press the button.

The other week I was recording the audio of some of my favorite baseball team’s most recent postseason games to MP3s so I could listen to them later on my iPhone. I used Audio Hijack to record the output of Google Chrome to an MP3, and then channel that audio to one of the secondary outputs on my Mac. I could plug in some headphones and check on the session whenever I wanted, while all the while I was playing music through a different set of speakers.

Not to throw Audio Hijack Pro under the bus, but while it offered some (but not all) of this functionality, its interface was not particularly intuitive. It had all the warmth and logic of professional audio hardware—which is to say, none. This new version bypasses all that nonsense for one that just makes sense. Lay the blocks in the right order, drag them to connect the way you want, and press the button. It’s the Mac audio utility I’ve been awaiting for a decade.

Interview: Rogue Amoeba’s Paul Kafasis

I got a chance to ask Rogue Amoeba CEO/Lackey Paul Kafasis a few questions about the new Audio Hijack and how it came to be. The text of that interview is below.

Why is this Audio Hijack 3 and not Audio Hijack Pro 3?

PK: We’re just simplifying the name back down, following that classic advice to omit needless words. We started with “Audio Hijack,” which I’ve always loved as a name. But then, we came out with a deeper product, and we called it “Audio Hijack Pro.” Silly as it may sound, the “Pro” never meant “for professional users,” it just meant “this is a deeper app.” I think ultimately that was a mistake. Pro was always intended for any and all users, and it was always the best fit for most tasks, but some people were scared off by the “Pro” name.

With version 3, we finally have a chance to rectify that error. The especially nice thing is, because Audio Hijack 3 is a successor to all of our “Audio Hijack” products (which helpfully never got above a version 2), we can hopefully keep things simple. If you’ve purchased any version of Audio Hijack or Audio Hijack Pro, Audio Hijack 3 is the latest and greatest version of your app.

What motivated the new design? Can you talk about the process you went through in coming up with this new design?

PK: The short answer is that we wanted to simplify things, so that the app would be more approachable. Previous iterations were always very powerful, but could be difficult to get started with. We’re aiming to improve that.

A longer answer: Audio Hijack can trace its ancestry all the way back to 2002. In the decade-plus since then, we’ve been fortunate enough to have users who found and showed us all manner of new uses for the app. That led to many updates and improvements, but it also caused the app to outgrow our original designs. With version 3, we knew it was time for a true refresh, incorporating over a decade’s worth of experience and feedback.

After we decided that, we focused on a part of the old Audio Hijack Pro that had always been useful but not widely noticed—the audio effects tab. In the old Audio Hijack Pro, we had a grid where users could add audio effects. This was very powerful, and also very extensible—for instance, it’s where Skype recording was originally made possible, via some clever use of different effects. But while the effects grid worked, it was clunky, and hardly intuitive. We decided we’d take this power and simplify it. That led us to the audio grid we have now, where audio flows in and out with all actions happening through Blocks. This pipeline-style layout makes it very easy to do things users have long wanted, like recording multiple sources, to multiple files, in sync—great for in-person podcast recording, as well as studio recordings.

After nailing down the audio grid, we spent a lot of time examining and considering every part of the previous apps. We worked to simplify things that are widely used (default recording options, timed recording, and more), and chucked things that weren’t (LADSPA audio effects, for instance, or some of the more obscure recording options and ID3 tags). Hopefully, the result is a far easier to use app, one that’s still as powerful as it needs to be.

Also, a major factor in being able to make and implement this new design was having full-time designer Christa Mrgan on staff, as well as a lead developer with a lot of graphics experience. When we made the previous versions of Audio Hijack, we didn’t have much in the way of artistic help. We used standard OS X controls, and added a bit where we could, but overall, it was a very plain app. Now, we have a great designer who can make the app look phenomenal, and a developer who can implement that. We couldn’t be more pleased.

Who is your target audience for this product, or does it really have so many possible uses that it’s wide open?

PK: I suppose one specific niche we serve, and have worked hard for nearly the past decade to serve, is podcasters. Way back in the mid-2000s, the first podcasters noticed that with a lot of work, you could record Skype using Audio Hijack Pro. We then worked to make that much simpler, by handling a lot of the configuration on the back end. I think that endeared us to podcasters, and we’ve always been grateful for their support. Audio Hijack 3 continues the tradition of simplifying things for podcasters, so they can easily get their audio without too much hassle. It also allows more advanced podcasters a whole lot of flexibility in making powerful setups, which is great.

But really, we’re certainly not looking to serve all the needs of a specific niche. We’re used by “podcasters,” we’re used by “studio professionals,” we’re used by “musicians,” but we don’t aim the app at any of them specifically. Audio Hijack can help anyone who wants to record or adjust audio on their Mac, and that cuts across a large swath of users. The trick is really in getting people to realize they fall into that group. That’s why we focus on use cases. People don’t necessarily realize they want what Audio Hijack offers. But when you say “You can record a stream from Safari” or “You can crank the audio on a laptop’s speakers,” that’s when people’s eyes light up. We try to boil that down to “recording or enhancing any audio on your Mac,” but providing examples is what really works.

The Session Templates provide samples of how to set up sessions.

In fact, to blather just a bit (more), that’s a big part of why we added Session Templates to Audio Hijack. New users who open the app and create a New Session will see the Template Chooser and its 10 options (plus a Blank Session). Those 10 options are the most common uses for Audio Hijack, and will hopefully open people’s eyes to how they can use the tool in front of them.

Were there any particularly interesting/necessary technical things you needed to do to get this software to work? It seems to have a bunch of advances from older versions.

hijack-popover
An Audio Hijack popover.

PK: One of the things I’m really proud of is the popovers used with Audio Hijack’s Blocks. If you look at Audio Hijack Pro’s Effects grid, you can see that we had some of the same features available. But using that grid was hardly a fun thing. It wasn’t pretty, and every effect spawned its own window for settings. We knew we needed to avoid that, and we worked out the idea of using popovers.

However, when we first started implementing popovers, the system didn’t even offer them. The iPad had them, but Mac OS X didn’t. And when they did come to the Mac, they were very limited. They didn’t move intelligently, they didn’t resize—they just didn’t meet our needs. So, we stuck with our custom popovers, and they’ve worked out great. They provide fast access to controls, and disappear instantly when they’re not needed. Of course, it’s possible to have constant access to them in the app (by tearing the popover off) and across the system (by pinning the popover). They were a lot of work, but they provide a really elegant solution. Hopefully, users won’t even notice them, because they’ll work so well.

Related to that, the whole audio grid is really a thing of beauty. When you work with the audio graph, you’re seeing quality physics and graphics used in a serious audio tool. The complex connection algorithm, which automatically connects blocks, is tremendously intelligent. The animation code to show audio flowing, that’s deep, hard code as well. Again, though, that should be invisible to users—it will just work. But behind the scenes, man did that take a lot of hard work by our lead engineer Grant.

As far as the back-end audio capture goes, we’ve been doing that for over a decade in most of our apps (everything but Fission, really), and as such, we’ve never stopped improving and refining it. Over the years, we’ve made our audio capture more and more robust, while also working to avoid needing to do anything which might cause problems. A whole lot of research and development has gotten us to the point where we can use a CoreAudio plugin to do much of what we need, and that’s good for reliability.

If you appreciate articles like this one, support us by becoming a Six Colors subscriber. Subscribers get access to an exclusive podcast, members-only stories, and a special community.


Search Six Colors