Bluetooth CODECs and Android Magic


Just got the CHEWI phablet delivered. CHEWI thinks it doesn’t support aptX or aptX HD. But I read some search results and found that Android Oreo comes with built in support for AAC, aptX and aptX HD. I went to system about BUILD, tapped it 7 times, and it said I was a developer. Then I went to developer options, and was able to select aptX as the default CODEC. Soon I shall test. I don’t know what uses aptX HD, certainly the new IFI xDSD just does aptX in the current iteration.

Please note that when I’m serious, I don’t make fun of the Android names, much as I wanted to say Android Joyvah Halvah.

(One Hour Later) YES! It works!

(4 hours later) As @antdroid points out it’s CHUWI


I’m assuming you mean Chuwi? They have some interesting products that I have been interested in for android and windows tablets and pcs.

Yes, Oreo has support for all those codecs as well as LDAC, as long as the mfg includes the support in their updates.


Yes, Chuwi. They are a good price point - they don’t spend any extra on manual translators :wink: Some of the most amusing English I have seen since a 1968 Argentine provincial travel brochure.

I wrote back to them and they were excited to know that it works…

Their products seem to be very good for the money. I was just looking for something cheap that would run a recent version of Android. Tidal and Roon say they “may not be optimized” but they run just fine.


Headphone wise, the Sony WH-H900N, WH-1000XM2, WH-1000XM3 support aptX HD. I’m sure there are others. But they also support LDAC which is better still. Player wise, I know Sony’s NW-WM1A and NW-WM1Z, and I believe the ZX300 all support aptX, aptX HD and LDAC (as well as AAC and SBC).

aptX HD differs from aptX in terms of available bandwidth … a bit over 500 kbps, which means it can encode a 24/48 bit stream using, in ideal conditions, about a 4:1 compression ratio. In all cases this means it’s a lossy-protocol (i.e. has to rely on perceptual encoding techniques rather than being bit-perfect - though that’s not to say it isn’t audibly transparent in good conditions), and like all Bluetooth audio CODECs has to support constantly changing available bit-rates.

LDAC has about double the bandwidth of aptx HD (again in ideal conditions), and in “Quality Priority” mode (selectable) has enough bandwidth to use a more FLAC-like encoding for 16/44.1 and 24/48 content (about a 2:1 compression ratio). Full bandwidth isn’t guaranteed, however, and if you get dropouts there, and switch to “Connection Priority” it’ll use similar perceptual encoding, albeit with lower compression ratios, to other Bluetooth CODECs.

Beyond current signalling conditions, the CODEC is really what sets the quality limit for Bluetooth Audio.

Everything supports “SBC” - but that’s the least desirable mode and often has highly audible artifacts, even in good conditions. For example, my Hugo 2 only supports SBC and aptX … so coming off an iPhone (uses AAC instead of aptX) it is stuck in SBC mode - and it’s unfortunately VERY easy to tell.

AAC and aptX are the next tier up. They are very similar in terms of achievable bandwidth, both being better than SBC. While more and more gear supports both, for a good while you were stuck choosing between them (e.g. Sennheiser initially favored AAC, so Android users got stuck with SBC).

Then you have aptX HD, support for which is growing, but slowly. It was annoying to discover that a recently released, almost $3,000, mobile DAC that has Bluetooth support just stopped at aptX.

And finally at the top of the pile is LDAC … which is mostly supported by Sony products at the moment.


Yikes, AptX only at that price point is annoying

I’m hoping with LDAC support in the newest android we’ll start to see other manufacturers support it. Though does Sony have any kind of licensing restriction on it?


@Torq , do you happen to know if Android’s CODEC support is entirely in the Android software, or if it requires any specific hardware to run? In Android 8.0, after enabling developer mode, the user is presented with a number of choices in developer options for audio/Bluetooth. These include sampling rates with a default option or 44.1, 48, 88.2 and 96. I’ve not fooled with that, as this device does not have any hi-res files in it, nor do I expect to stream hi-res - at least not more than FLAC. There are several other options, that I suspect are best left alone.

I note that although I can check a specific codec, I don’t see an indicator of the change, although it is checked when I review. There are also options for Bluetooth (forgot acronym) 1.4, 1.5, 1.6.

Finally, my particular lightly-documented android device sports only a USB C and a headphone jack. Comes with a USB C cable and charger. I read that USB C is supposed to support digital audio (not analog) so I assume it’s safe to get a USB C to USB 3.1 female cable in order to attach an outboard DAC. (The charger cable is USB 3 male)

Thanks, in advance for your comments.

1 Like

Sony does require that the LDAC protocol is licensed in order to use it - in fact there’s an application process that you can initiate right from the main LDAC page for that very purpose.

Whether a royalty or payment is involved in acquiring/maintaining that license is another matter.

Historically there has been with most Sony technologies, but with their entire E-mount camera line-up they basically published the specs for both the lens and flash systems for anyone to use.

All different divisions, so hard to say if the CODEC group behaves that way.


The aptX family of CODECs can be implemented purely in software.

The only hardware requirements are that a) your platform can utilize a sufficiently recent Bluetooth revision to deliver the necessary raw bandwidth and b) your platform has enough processing power to implement the CODEC.

In stock Android 8.0 you have a pure software implementation for aptx and aptxHD.

When Android 8.0 is deployed on hardware that uses a Qualcomm SoC which has hardware support for aptX and aptxHD then the manufacturer can provide a driver that offloads that work from the main CPU to the Qualcomm SoC for those CODECs.

While aptxHD has support for 24 bit/48 kHz sample rates (and LDAC will do 24/96), bear in mind that the available bandwidth doesn’t change. So if you’re at an 4:1 (lossy) compression ratio for 24/48 (which you are, in ideal conditions), you’d be at an 8:1 (lossy) ratio compression for 24/96.

Whether that results in a 24/96 file sounding better, or worse, than a 24/48 source is likely to be situational.

To use external DACs with Android devices, you’d need a USB-C to USB (whatever) OTG cable. The OTG part is important!

Rather than going to a USB 3.1 female cable (unless you wanted to use it as an adapter for other purposes also), for audio purposes I would go from the USB-C to whatever USB connection is on the DAC directly (again, ensuring that it is an “OTG” cable).


Yes, it is an “OTG” cable, and I need the female end for the DAC. I didn’t specify OTG because Wikipedia said that “On The Go” was an older term for the specification.

Technology changes so fast. It seems like yesterday that I was using the /AT command set and X-25 pad parameters.