This article originally appeared on our sister site, SoundGuys.com
The state of USB Type-C audio and the new market for compatible headphones and dongles is, quite frankly, a trainwreck. Headphones sometimes only work with specific smartphone brands, dongles don’t always connect, and its hard to tell if some products are even digital at all. There are a lot of headaches waiting for early adopters.
For consumers to ever feel confident their USB Type-C devices will work in all circumstances, the big players need to step up support. Google could finally update its aging support for USB Audio Class (ADC) devices to the latest 3.0 specification. So could Apple and Microsoft, but Android powers most smartphones these days and Google needs to lead the way.
Before we delve in, check out our primer on how USB Type-C audio works to make sure you’re up to speed.
What’s broken with Android?
Believe it or not, Android hasn’t received an update to its USB audio feature set since version 5.0 Lollipop back in 2014. However, Google has released two Pixel smartphones without a 3.5mm headphone jack since then. Android’s most substantial recent audio improvements instead focus on improved Bluetooth codec support with 8.0 Oreo. Better Bluetooth audio is great, but it leaves wired headphones in the lurch with outdated support.
Outdated support for USB audio
According to Google’s official documentation: “Android 5.0 (API level 21) and above supports a subset of USB audio class 1.” This subset is more limited than the full class 1 specification, limiting audio to two channels of 24-bit PCM data with a frequency up to 48kHz. There’s no default support for high sample rate audio over USB out of the box.
Individual smartphone manufacturers can implement full audio class specifications on top of Android’s default and many do. In fact, Google supports all three of the USB Audio Classes with the Pixel 2. However, this leads consumers not knowing what to expect from their handsets. You can find forums full of users struggling to understand why products don’t work with their specific smartphone, along with headache-inducing workarounds requiring specific apps and USB OTG cables.
Google supports USB Audio Class 3.0 with the Pixel 2, so isn’t it time to enforce support across all modern Android smartphones?
But why is this the case? USB data speeds and power consumption are the likely culprits, as USB ADC 1.0 works with low speed 12Mbps USB 1.0 ports, which are reasonably low power compared to USB 2.0. Android doesn’t require OEMs to include High-Speed USB ports for faster audio either, although the industry has long moved on to USB 2.0 and 3.0 data speeds anyway. Android support is clearly behind the times.
Analog vs digital USB accessories
In addition, Android 4.1 devices and newer support what’s known as “Audio Accessory mode.” This option caps audio at 16-bit stereo with just a 44.1kHz sample rate. It’s the only way to obtain analog audio over a USB interface, which non-digital USB Type-C dongles and headphones exploit. Google opted out of this mode on its own phones, but for some reason keeps the option in for others. Pixel phones require a DAC dongle, but plenty of phones still use this mode to support legacy hardware like audio docks.
This range of optional implementations of USB audio causes most compatibility issues. The only way to solve this problem is stricter enforcement of a single standard for USB Type-C audio for everything. Establishing at least a bare minimum level of support avoids compatibility problems across the entire ecosystem, rather than just offering proper support with some flagship phones.
Why not support the latest USB Audio Class 3.0 specification in the core of Android, given its benefits for USB Type-C headphones?
Android 9.0 Pie review: Closing the gap
Why USB Audio Class 3.0 is important
One of the major problems with USB audio versus the 3.5mm jack is energy consumption. The added USB host layer and high bandwidth data transfer comes costs battery life. USB Audio Class 3.0 solves this problem via new Power Domain and power saving features, such as support for High-Speed USB’s Link Power Management (LPM 1).
In a nutshell, this idea allows components to power down in between the isochronous digital data packet transfers from the host to headset. Unlike constant analog audio, digital USB data transmits in packets, which results in idle time where not a lot happens between transfers. Furthermore, CPU and DSP components, which also consume lots of power to package data transfers, will sleep in between burst transfers.
Synopsys, which develops USB controllers, states this technology will bring USB audio power consumption down into competition with traditional 3.5mm headphones. Given that USB headphones also tout more advanced DSP and noise cancellation features, keeping power consumption to a minimum is a big deal.
USB Audio Class 3.0’s power savings will compete with the efficiency of 3.5mm headphones.
This brings us nicely to the second major benefit to adopting USB Audio Device Class 3.0: universal support for the latest digital audio features. USB ADC 3.0 supports up to 32-bit/384kHz stereo audio, which is the same as the 2.0 specification but an upgrade over 1.0’s 24-bit/96kHz maximum. It also supports a unified feature set within the standard.
New audio features like noise cancellation
Version 3.0 mandates the inclusion of USB Basic Audio Device Definition (BADD) with compatible devices. BADD defines common audio device features so a host device knows exactly how to implement and configure these options, such as microphone support or in-line controls. These were optional in the past, but mandatory inclusion means that the most common features will work in the same way across all USB ADC 3.0 devices.
USB ADC 3.0 also introduces support for additional “Multi-Function Processing Units.” These software units form part of the USB audio function chain of the playback device and are well defined so host devices can configure them appropriately. These units include sample rate converters, clock entities, digital effects like compression and reverb, channel mixers, acoustic echo cancellation, and active noise cancellation, to name just a few. The USB specification presents all of these features transparently to host devices. As an example, a Volume Control inside a Feature Unit lets host software obtain values for the Volume Control’s attributes over USB and use them to correctly display the Control on the screen.
USB ADC 3.0 exposes headphone features to software on the phone, improving compatibility for new tech like noise cancellation.
All of these useful features are encapsulated under the USB Audio Class 3.0 specification, rather than being optional and/or proprietary add-ons. Supporting this standard at an system level guarantees these feature work with any headphones plugged into your phone without having to resort to proprietary apps, which we’ve seen with some USB Type-C headphones. USB ADC 3.0 is also backward compatible with 2.0 and 1.0 products, ensuring support for headphones, DACs, and other audio products already on the market.
Support for USB Audio Class 3.0 support shouldn’t be optional going forward. It’s a necessary step to make USB audio products consumer friendly enough for universal adoption.
Smartphones and USB Type-C headphones deserve better than support from a 2014 standard for a 2018 technology
USB ADC 3.0 finally addresses power consumption, making it a preferable choice over the power hungry 2.0 specification, which enables digital headphones to rival the power efficiency of analog equivalents. The wider range of supported features and greater hardware and software transparency also makes it far superior to version 1.0.
Support at OS level would create a baseline for consumers and hardware manufacturers, and solve the compatibility issues currently plaguing the market. Smartphones and USB Type-C headphones deserve better support than a 2014 standard for a 2018 technology.