- Joined
- Dec 25, 2023
- Messages
- 426
- Likes
- 431
I can't believe there is only ONE article on the internet (https://addictedtoaudio.com.au/blog...-the-bluetooth-codecs-which-performs-the-best) comparing all the widely available Bluetooth codec options to see which one performs the best. So, I decided to do my own. Here's the gist of it:
Phone/PC BT -> 1Mii B06HD+ -> Scarlett Solo 3rd gen -> Phone USB-C
The performance of the 1Mii and Scarlett shouldn't be a problem to us because the Scarlett's ADC is surprisingly good (unlike the 4th gen) and the 1Mii uses an ESS DAC. Although I haven't properly tested the 1Mii's performance, it seems good enough as you'll see soon.
I played a 1khz sine through the left channel only (only 1 channel supported in the Solo), and got the following screenshots. There's a rub, though. Android adds some extra junk processing so this doesn't accurately represent how the codecs themselves perform, but rather them plus Android. So, I did some extra testing with my Linux PC (I use Pop!_OS btw) which supports all the codecs Android does plus more.
Here's our baseline, SBC with Android.
Not great, not terrible. There's a huge spike of SOMETHING to the left, and it's not harmonic distortion (but rather subharmonic). How about AAC?
I should tell you now that the huge spike of SOMETHING is due to Android. So, ignore it. AAC doesn't look too terrible either except for all the ugly noise surrounding our test tone. AptX claims to deliver high quality audio. Does it?
We've still got noise, but it looks different. AptX HD claims to deliver even higher quality audio. Does it?
Our noise is looking a lot better! However, there still remains a little distortion. Let's top it off with LDAC.
Now we're talking! Our noise is just about gone. But now our distortion is higher in the higher frequencies. I'm not sure if you can hear it that low, though.
Here's the same screenshots but using the BT from my PC instead. Note that we have two extra codecs here: AptX LL and SBC-XQ. SBC-XQ is just SBC with a larger bandwidth and support that depends on the device. Interestingly, it's also only available on Linux.
Conclusion: SBC is by far the worst choice, especially if you're using it on Android. LDAC is by far the best with performance limited largely by DAC/ADC (?). AAC and AptX have less distortion than SBC but add a LOT of extra noise. Can you hear any of this? I've taken the test (https://btcodecs.valdikss.org.ru/sbc-encoder/) and it's honestly hard to hear the junk with real content. But then again, that simulation is in perfect conditions using the codecs you'd find on Linux. Regarding SBC-XQ, support depends on the device and so here it didn't appear to make any tangible difference. AptX-LL didn't either.
Recommendations: Don't use SBC, AAC, or AptX where quality is important, unless you're using an iPhone/iPad which has a better AAC codec. AptX-HD and LDAC are the only options that offer both low noise and low distortion so prioritize those. And as always, remember that no matter what codec you choose, distortion and noise are hard to hear with real content unless you're in an ideal listening environment.
I hope this helps!
Phone/PC BT -> 1Mii B06HD+ -> Scarlett Solo 3rd gen -> Phone USB-C
The performance of the 1Mii and Scarlett shouldn't be a problem to us because the Scarlett's ADC is surprisingly good (unlike the 4th gen) and the 1Mii uses an ESS DAC. Although I haven't properly tested the 1Mii's performance, it seems good enough as you'll see soon.
I played a 1khz sine through the left channel only (only 1 channel supported in the Solo), and got the following screenshots. There's a rub, though. Android adds some extra junk processing so this doesn't accurately represent how the codecs themselves perform, but rather them plus Android. So, I did some extra testing with my Linux PC (I use Pop!_OS btw) which supports all the codecs Android does plus more.
Here's our baseline, SBC with Android.
Not great, not terrible. There's a huge spike of SOMETHING to the left, and it's not harmonic distortion (but rather subharmonic). How about AAC?
I should tell you now that the huge spike of SOMETHING is due to Android. So, ignore it. AAC doesn't look too terrible either except for all the ugly noise surrounding our test tone. AptX claims to deliver high quality audio. Does it?
We've still got noise, but it looks different. AptX HD claims to deliver even higher quality audio. Does it?
Our noise is looking a lot better! However, there still remains a little distortion. Let's top it off with LDAC.
Now we're talking! Our noise is just about gone. But now our distortion is higher in the higher frequencies. I'm not sure if you can hear it that low, though.
Here's the same screenshots but using the BT from my PC instead. Note that we have two extra codecs here: AptX LL and SBC-XQ. SBC-XQ is just SBC with a larger bandwidth and support that depends on the device. Interestingly, it's also only available on Linux.
Conclusion: SBC is by far the worst choice, especially if you're using it on Android. LDAC is by far the best with performance limited largely by DAC/ADC (?). AAC and AptX have less distortion than SBC but add a LOT of extra noise. Can you hear any of this? I've taken the test (https://btcodecs.valdikss.org.ru/sbc-encoder/) and it's honestly hard to hear the junk with real content. But then again, that simulation is in perfect conditions using the codecs you'd find on Linux. Regarding SBC-XQ, support depends on the device and so here it didn't appear to make any tangible difference. AptX-LL didn't either.
Recommendations: Don't use SBC, AAC, or AptX where quality is important, unless you're using an iPhone/iPad which has a better AAC codec. AptX-HD and LDAC are the only options that offer both low noise and low distortion so prioritize those. And as always, remember that no matter what codec you choose, distortion and noise are hard to hear with real content unless you're in an ideal listening environment.
I hope this helps!
Last edited: