Android Patch Brings Bluetooth SBC Codec Audio Quality on-par with aptX

Orange Pi Development Boards

In the context of CNX Software’s topics, SBC usually stands for “Single Board Computer”, but SBC also stands for “SubBand Codec“, a standard and mandatory Bluetooth codec which is supported by all headphones, portable speakers, car head units, and basically everything that plays audio over Bluetooth.

SBC is known as a basic and low-quality Bluetooth codec, so people will often recommend using other codecs such as aptX, AAC or LDAC wherever possible, but ValdikSS has submitted a patch for Android which improves Bluetooth SBC codec audio quality on most existing devices, allegedly making it as good as the high quality aptX HD codec.

Android Bluetooth SBC HD Audio
Bluetooth configuration with HD audio: SBC option

ValdikSS explains this basically works by increasing the bitrate:

My patchset bypass Android Bluetooth stack limitations and increase bitrate from stock 328 kbps to 452 or 551 kbps, depending on device speed capabilities. It’s already merged into LineageOS 15.1 and 16.0, Resurrection Remix and crDroid alternative Android firmwares.

You’ll get the full detailed technical explanation in “Bluetooth stack modifications to improve audio quality on headphones without AAC, aptX, or LDAC codecs” post which also links to another interesting post providing in-depth information about profiles, codecs, and devices used by Bluetooth audio applications. You’ll also learn that the great differences claimed between codecs are mostly a myth and that Bluetooth 5 support does not bring anything to audio transmission.

ValdikSS patchsets are for Android 8.1 and Android 9.0, but he also told CNX Software those audio quality modifications could be also used on Windows with Toshiba Bluetooth stack, and on Linux with a patch for PulseAudio.

Bluetooth A2DP SBC/aptX online encoder
Bluetooth A2DP SBC/aptX online encoder

If you’re not quite ready to test it on your phone, you can compare SBC dual channel audio quality against the traditional SBC joint-audio and aptX right in your web browser.

Support CNX Software - Donate via PayPal or become a Patron on Patreon

16
Leave a Reply

avatar
4 Comment threads
12 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
11 Comment authors
ResomDiegoeasValdikSS Recent comment authors
  Subscribe  
newest oldest most voted
Notify of
Spemer
Guest
Spemer

Greatly summarized, well written Jean Luc.

MorrisJ
Guest
MorrisJ

Bluetooth screws my WiFi bandwidth just enough that I can’t stream films 1080p on my phone while using a bluetooth headset. It would have been fine if I had a headphone jack. And it would have been great if I found a usb3 type c adapter that actually took in both power and the phone’s jack at the same time… Alas, 5 different models later and it’s clear the phone model has some hardware/driver flaw screwing the negotiations.

Diego
Guest
Diego

Usually 5GHz wlan helps, but if your phone isnt 5GHz capable what to recommend…

Wondered
Guest
Wondered

True. Happened to me on my older phone. It happens when both bluetooth and wifi operares on 2.4Ghz band. Get a 5Ghz wlan router and enjoy better speeds and no interlap between the two.

Member

There is a BT/Wifi avoidance protocol that needs to be followed. This is easy to implement when BT/Wifi are in the same chip. When BT/Wifi are implemented in two different chips, you have to run a couple of wires between the chips and the firmware inside each chip needs to pay attention to those wires. If the two chip solution doesn’t do that, then BT/Wifi transmissions stomp all over each other. It still works, but it is much slower. The wires basically say — I’m transmitting, it would not be smart if you did not transmit at the same time. Because if you do that, neither packet is going to make it.

eas
Guest

That’s good, but even when it works perfectly BT eats up airtime & TXops at WifFi’s expense.

Paul M
Guest
Paul M

The key difference between sbc and aptX was the bit rate, so this solves that. I think ldac and aac are better codecs, so if you can, use those.

js0x0
Guest
js0x0

There are other reasons to choose one of these codecs over aac – like latency. For music, aac is a good choice though.

Diego
Guest
Diego

Unfortunately still no opus over bt. Weird as opus is optimised for low latency even at high bitrates and high bandwidth (stereo) audio. So for now just more or less patent encumbered proprietary codecs…

Member

Nothing that you can connect to (headphones, speakers, etc) with BT supports opus. So there is no point in doing it.

Member

I think that’s what @Diego, is trying to communicate – that it would be good to Opus happening over Bluetooth. If we choose not to see a point in doing it, it’s never going to kick off!

Originally optimized for speech, Opus is now widely used for music and movie audio as well. In fact, YouTube widely uses Opus for its audio.

Diego
Guest
Diego

Actually if no host does opus then no peripheral does opus thus no host… Chicken egg story once again.

Opus has evolved out of two codecs silk for speech and celt for real time music and opus still does both very well. It is in my eyes a perfect match for bt. But there are other commercial interests it seems.

ValdikSS
Guest
ValdikSS

Actually SBC and aptX have very low algorithmic delay, about 2-3 ms vs 10-20 ms in Opus. It’s audio buffers that are not tuned to low latency, not the codec itself.

Diego
Guest
Diego

I’m no more deep enough into the codec stuff nowadays. But it might be even better allowing a couple of codecs like ie the amr group of codecs, so we would do away with all the recoding. In any case up to 20 ms is usually manageable and no show stopper at all in a well tuned system

eas
Guest

If only there were options for HQ audio in hands free/head set mode. Instead were still stuck with stuff designed for use with horrid TDMA codecs.

When the Apple Airpods were announced I thought they’d at least have a proprietary solution. My understanding is that they are as bad as any other BT headset.

Resom
Guest
Resom

Hi,

I tried the Toshiba Bluetooth Stack but exept the sound quality option, I don’t find the one to enable Dual Channel Mode!! Where is it hidden? Thanks for your help!