Hacking Home Office Audio

Two weeks after WWDC 2020, I’m still slowly soaking in the flood of new features, fixes, and info — only this time from home, with WWDC going virtual. Apple mentioned in their keynote that Messages traffic is up 40% in recent months, with folks largely confined to home, and I’m betting that videoconferencing is also up at least that much. I’ve certainly had more video calls in the last three months than I’d had in the prior three years.

On that note, I want to dig in to an upgrade I recently made to my home office audio setup, mostly for videoconferencing and gaming purposes. Fair warning: this is pretty different from other recent posts, where I delve into some quirk of Swift or an Apple framework. Instead, we’ll chat about pieces of audio equipment that are — I readily admit — way too powerful for solving the problem at hand. But then again, what fun is there to be had in a home improvement project that stops short at just barely meeting the requirements?

Requirements

This project starts with two separate systems in the same room. On one side, there’s a Mac with an external USB webcam and built-in (relatively low quality) microphone. On the other, there’s an Xbox, replete with gaming headset. Since starting work from home, many days involve eight or nine hours working on the Mac, then swiveling around to pick up on the Xbox.

Note: this setup, and everything that follows, are all huge markers of privilege. Before you continue reading the post, please consider making a donation to one of the many organizations dedicated to combating inequality in today’s world, or finding another way to support communities in your area that are suffering from systemic injustice.

One of the main goals for this revamp was to find a way to unify these two systems. If I was playing a game on the Xbox, but had music coming from the Mac, I wanted to route the music through the gaming headset along with whatever sound effects the game played. Conversely, during the workday, I’d occasionally stream a video through the Xbox, but wanted the audio coming out of the speakers attached to the Mac. Channeling all the sounds to the right destinations was perhaps the single biggest driver of the project.

Of secondary importance was a better setup for videoconferencing. Between remote work and just keeping up with friends & family during COVID-19, I wanted a system that wouldn’t echo audio back during calls, and produced a quality signal — no scratchy voices or compression artifacts, please.

My first thought was to dig around in the big bin of cables (every home has one, right?) to find enough splitters, extension cables, and adapters to connect all the devices directly. However, after chatting with a couple friends and coworkers with more audio experience, I was convinced to avoid that route. There’s a wide world of electrical engineering underpinning audio, and apparently some of the devices I was dealing with had the potential to create some undesirable electrical conditions when all plugged in to one giant splitter mesh.

Instead, I decided to invest in a little bit of “home studio” equipment. I’m not a musician or podcaster, but that turned out to be the right market level for most of the hardware I needed.

Mixing it up

The turning point for this project came when I discovered the world of audio mixers — boards that accept several different sound inputs, combine them in various ways, and produce a consolidated output signal (or signals). While professional mixers can be measured in dozens of inputs, feet of desk space, and thousands of dollars, there’s a thriving market of budget hardware aimed at small bands, church productions, and home studios. This was the niche I needed to unlock everything else.

After reading some best-of lists, poring over a few manuals, and doing a fair bit of diagramming in OmniGraffle, I landed on the Behringer Xenyx 1204USB mixer. It seemed like it had all the inputs I needed, plus plenty of room to grow in the future, and was a fraction of the cost of some competitors. The general plan was to get the mixer in hand, then start connecting devices one at a time and see what happened.

The first few went smoothly enough. As advertised, the mixer connected to a Mac with a plain USB 1.0 A-to-B cable, and immediately accepted sound from the Mac on the “USB/2-tr” stereo channels. Following the manual’s recommendation for home studio setups, I was able to get my speakers connected to the “control room” outputs and headphones connected to the “phones” stereo connector with just a few small adapters.

Turning to the Xbox, though, was a different story. As with all new technical endeavors, I expected to hit a few roadblocks and need to learn a little more along the way. I’ll admit, though, to being surprised at just how different the world of Xbox audio was from the more production-oriented technologies used in the mixer.

TRRS, CTIA, and other acronyms

The first step in hooking up any kind of audio connection between the Xbox and mixer was to figure out how, exactly, the Xbox controller and headset were wired in the first place. I was using a HyperX Cloud Alpha, but since Xbox headsets need to plug into the Xbox controller, the connection is the same for any headset with Xbox compatibility.

Some quick searching revealed that Xbox One controllers use a TRRS connector that follows the CTIA pin standard. This plug is the usual 3.5mm audio jack used on most headphones made in the last 30+ years, with one specific detail: it has three small plastic separators on the plug, separating it into four metal segments. (This is where the name comes from: it’s a “tip, ring, ring, sleeve” connector, or TRRS for short.)

To HyperX’s credit, the headset came with two cables: one that plugged straight into the Xbox controller, and a second Y-splitter cable that broke out the “headphones” half of the signal from the “microphone” half. My first goal was to get the sound from the headset microphone into the Behringer mixer, so that I could start testing how to manage its levels and eventually route it back into the Xbox.

Xbox headset mic

Even with HyperX’s splitter, getting headset microphone sound into the mixer turned out to be surprisingly tricky. My first attempt was to simply use a ¼″-to-3.5mm adapter to plug the cable into a line input on the mixer. This didn’t work, and since the connections were all analog, there was really no direct feedback about why — I simply didn’t get any sound on the input channel. The next attempt, using a hardwired 3.5mm-to-XLR adapter, failed in the same way.

The solution for this connection came after double-checking the mixer’s manual and trawling through several audio forum threads about connecting “PC headset microphones” to similar mixers. It turns out that the most common microphone type in these applications is an “electret,” which requires a certain amount of power to activate. This was confusing at first, since the HyperX headset has no batteries and no external power cord — not even a USB cable to draw power.

Apparently, PC sound cards often play a vital role here, by feeding a few volts of power to the microphone along the very same 3.5mm cable that carries the audio signal. This power is sometimes called “plug-in power,” and is crucial for getting commodity headset microphones to deliver any kind of audible signal. The Xbox controller steps into this role as well: even as it’s feeding stereo sound to the headset, it also supplies power on the TRRS connection to drive the microphone and transmit its audio signal back to the console.

This was where the mixer board fell down — there’s generally fewer use cases for this kind of power in professional audio equipment, so the mixer wasn’t equipped to deliver any voltage along the 3.5mm cable. However, it was equipped to send another kind of power: “phantom power,” a 48-volt signal available through the XLR connectors on the first few input channels. This power is often used to drive larger, more professional microphones.

With these pieces of the puzzle in place, my job was simple: find a device that converts phantom power into plug-in power, and use it to power the headset microphone. With those search terms at hand, I quickly discovered the Røde VXLR+, a small adapter which plugged in to the XLR connector on the mixer and had a socket for the 3.5mm microphone plug from the headset. One interminable shipping delay later, and I had sound coming from the headset microphone into the mixer. On to the next challenge!

Xbox headset speakers

With the headset microphone dealt with, I turned to the other half of the HyperX headset: the speakers in each earpiece. Remember that a primary goal of this whole project was to be able to hear both the Xbox and any sound playing from the Mac simultaneously, so I knew I’d need a connection out from the mixer to the “headphones” half of HyperX’s splitter cable.

This turned out to be the one easy step in the whole process. The headphones half of the splitter had a TRS (“tip, ring, sleeve”) stereo 3.5mm connector, and the mixer had a dedicated ¼″ stereo “phones” output jack. A plain 3.5mm-to-¼″ adapter handled the format change, and since the mixer already expected to output a signal appropriate for unpowered headphones, all the electric levels matched up. I had sound in my ears!

Xbox console audio out

Of course, having sound out to the headset meant relatively little if I didn’t have the right inputs available. The Mac was well taken care of, since its signal carried across the USB connection — but what about the Xbox game sound? Without connecting the console to a mixer input of some kind, it was as if I was playing every game on mute.

Normally, this signal would be sent wirelessly to the Xbox controller, and then travel through the same TRRS connector to the headset directly. Now, though, the headset is connected to the mixer — there’s no longer that last connection from the controller, so we need another route. The good news is that the Xbox has a fairly flexible range of audio settings, including a variety of controls for where game and party chat audio is sent; the bad news is that the only physical audio output on the Xbox console is an optical port. Time for another adapter!

So far, we’ve only used a single input on the audio mixer, and an XLR input at that. This means almost all of the remaining channels are still available, and on this particular mixer, there are two sets of “paired” line inputs ready to take stereo connections. This was a kind of adapter I happened to be familiar with: I needed a “digital-to-analog converter,” or DAC, to turn the digital signal from the optical cable into an analog stereo pair that I could plug into the mixer.

I wound up settling on the Techole DAC, an inexpensive little gadget with all the right connectors that could be powered through USB. After connecting the optical cable (for sound) and USB cable (for power) to the Xbox itself, I could run some RCA cables — the traditional red-and-white pair for stereo sound seen behind many TVs — from the DAC to the mixer, and have an input channel pair with all the Xbox game sound on it.

Xbox party chat

At this point, I’ve almost achieved my first goal: being able to play games on the Xbox, hearing both the console and Mac through the headset speakers, and using the headset microphone to send speech back to the mixer. There’s one key piece missing, though!

Remember from the console audio step that there’s no longer a direct link between the headset and Xbox controller. Instead, Mac and game audio go through the mixer to the headset, and the headset mic goes back to the mixer — but then where? By breaking up the headset from the controller, I’d lost the ability for my microphone output to get back into the Xbox and out to a party chat. And unlike the previous step, I can’t even route the mixer’s output into the Xbox console itself, since party chat is specific to each player.

I needed to find a way to output sound from the mixer to the Xbox controller. After some consideration, I landed on using one of the mixer’s “auxiliary sends,” additional ¼″ output jacks that are intended for use as stage monitors or outputs to effects consoles. There were a few benefits to using an aux send in this case: I could control the amount of sound coming from each individual input that would be sent along the auxiliary output, and I didn’t have to “use up” the main output or split the headphone or control room outputs. I also assumed that the ¼″ connector would play well with the 3.5mm connection on the controller (at least, better than XLR).

Once again, though, the electrical properties of the mixer vs. the Xbox controller foiled my assumption. A direct connection wasn’t feasible, since the aux send used a plain TS (“tip, sleeve”) jack, while the controller still wanted TRRS — and with some of the pins in different places, no less. Searching for an adapter proved fruitless for quite a while, until I started phrasing the query a little differently.

While connecting an Xbox controller to a mixer board is apparently a pretty rare thing to do, it turns out it’s quite common for home musicians to want to connect a board (or, even more common, a guitar) to their iPhone for recording and playback. Conveniently, the iPhone uses the same TRRS/CTIA connector as the Xbox controller — even the headphone adapters that ship with Lightning-only iPhones preserve this connector and wiring standard. This meant I could start searching for an adapter made for iPhone, instead of Xbox, and suddenly the number of hits skyrocketed.

I almost immediately decided on the IK Multimedia iRig 2, a very reasonably priced device that has an “instrument input” ¼″ connector with the same electrical expectations as the mixer’s aux send. Even better, its output cable has a 3.5mm TRRS connector, so it’s perfect for plugging straight into the Xbox controller. Add a couple standard extension cables to keep it out of the way, and I had completed the loop! Sound could make it from the Mac & Xbox to the headset, and I could speak into the mic and have it transmitted to friends by way of the Xbox controller.

Finishing touches

With the complicated Xbox connections out of the way, I could wrap up the rest of this project’s requirements pretty quickly:

  • I connected my other headphones — an old pair of Audio Technica ATH-AD900s — to the mixer’s headphones output with a plain 3.5mm TRS splitter. This meant both the gaming headset and these alternate headphones got the same stereo signal, which was just fine by me.
  • I added another microphone — the Audio Technica AT2035 — specifically for videoconferencing/podcasting using a second XLR input channel with phantom power. This mic got great reviews as a mid-range piece of hardware for home studios in particular, so I leapt at the chance.
  • I connected some other oddball inputs, like a turntable, using other pairs of input channels and more of the same RCA-to-¼″ adapters from earlier.

With a little trial & error for routing different audio signals to the right places, I was ready to call it a day! Not only did I hit all the goals I had set for myself, but I got to learn a lot along the way about the different kinds of audio connection and their electrical properties. Any day I come away with both a functional system and a deeper understanding of how it works is a win-win, in my book. The final connection diagram looked like this:

Diagram of audio connections between devices

What’s more, I found myself really enjoying some of the ancillary changes that fell out of this project. For example, I often move around a bit while on the Xbox, and sometimes set down my controller and turn away from the console entirely. When the controller and headset were connected directly, I’d jerk my head on the cable or pull the controller onto the floor; now, with those two pieces having separate (very long) connections to the mixer, I’m afforded a little more freedom of movement around the room.

Similarly, having all my volume controls — both input and output — all consolidated onto a single piece of hardware was a nicety that I didn’t necessarily expect. These were all small perks, but they definitely add up into a nicer experience overall. If you’re working or gaming from home, and have an interest in digging deeper into audio engineering, I can’t recommend this sort of project enough!

As with any technical project, I’m sure there are several enhancements I could make yet, as well as opportunities that I missed. I’m always open to hearing from audio-experienced folks about how to make this sort of setup even better.