FORUMS
Remove All Ads from XDA

Improve Bluetooth audio quality on headphones without aptX or LDAC

230 posts
Thanks Meter: 178
 
By ValdikSS, Senior Member on 22nd August 2018, 07:13 PM
Post Reply Email Thread
17th October 2019, 11:51 AM |#231  
Member
Thanks Meter: 40
 
More
Quote:
Originally Posted by VincentJoshuaET

You can install an overlay that will override SBC over AAC.
I have a QCY T2C and I have this so that SBC will be used.

how should be this installed ? system/app? And will this allow SBC HD or just "normal" SBC?

EDIT: yeah installed as system APP and it works
16th November 2019, 02:42 AM |#232  
gorman42's Avatar
Senior Member
Thanks Meter: 72
 
More
@ValdikSS would you consider implementing this through a Magisk mod? Or would it be impossible to achieve?
Thanks for this awesome development.
Edit: after using the search function, apparently there should already be a Magisk module with similar functionality.
30th November 2019, 06:16 AM |#233  
Senior Member
Thanks Meter: 150
 
More
Dual Channel
I've read thru your post on habr and think I understand your thinking. However, by adding dual channel (instead of using joint stereo) to SBC, does the extra bandwidth really only help if there are large differences between L and R channels?

Sure, if you had two completely different tracks on L and R (no correlation between the two), I can see how having the extra bits to represent each channel separately would be helpful. On the other hand, if you had a single instrument/voice on a recording, it seems that dual channel will use more bits, but the channels will have only small variation between them. I guess this is more of a communication theory argument: the value of the extra bits are only as valuable if the original signal has enough entropy to require the extra bits.

In the extreme, if you have identical R and L channels, would the extra bandwidth of forced dual channel make any difference?
30th November 2019, 06:48 AM |#234  
OP Senior Member
Thanks Meter: 178
 
More
Quote:
Originally Posted by klaberte

I've read thru your post on habr and think I understand your thinking. However, by adding dual channel (instead of using joint stereo) to SBC, does the extra bandwidth really only help if there are large differences between L and R channels?

Sure, if you had two completely different tracks on L and R (no correlation between the two), I can see how having the extra bits to represent each channel separately would be helpful. On the other hand, if you had a single instrument/voice on a recording, it seems that dual channel will use more bits, but the channels will have only small variation between them. I guess this is more of a communication theory argument: the value of the extra bits are only as valuable if the original signal has enough entropy to require the extra bits.

In the extreme, if you have identical R and L channels, would the extra bandwidth of forced dual channel make any difference?

Yes, high bitrate Dual Channel produces much higher quality audio than Joint Stereo with less bitrate, in all tests I've performed. This is mostly due to max bitpool limitation on the devices. If there's no max bitpool limits, Joint Stereo with the same bitrate would be more effective.

Typical maximum bitpool value is 53, which gives 328 kbps bitrate for Joint Stereo and 617 kbps for Dual Channel.
Optimal bitrate for Dual Channel is 551 kbps, which is used in the modification, which is 68% more of maximum Joint Stereo bitrate.

Try it yourself on https://btcodecs.valdikss.org.ru/sbc-encoder/, with low bitrate, but with 68% coefficient.
Set Profile 1 to SBC Joint Stereo, 20 bitpool (146 kbps), and Profile 2 to Dual Channel, 19 bitpool (243 kbps, 67% more). It's clear that Dual Channel sounds much better.

This is also true for mono recordings for some reason, although the difference is from small but noticeable to negligible. Try it on Suzanne Vega. I haven't dig in dipper on the reasons, but I guess that Joint Stereo in SBC is not very effective. Just to note, I've also tested everything on Android SBC encoder and on Blackberry encoder, and got more or less the same results.
The Following User Says Thank You to ValdikSS For This Useful Post: [ View ] Gift ValdikSS Ad-Free
2nd December 2019, 08:21 PM |#235  
Senior Member
Thanks Meter: 150
 
More
Quote:
Originally Posted by ValdikSS

Yes, high bitrate Dual Channel produces much higher quality audio than Joint Stereo with less bitrate, in all tests I've performed. This is mostly due to max bitpool limitation on the devices. If there's no max bitpool limits, Joint Stereo with the same bitrate would be more effective.

Typical maximum bitpool value is 53, which gives 328 kbps bitrate for Joint Stereo and 617 kbps for Dual Channel.
Optimal bitrate for Dual Channel is 551 kbps, which is used in the modification, which is 68% more of maximum Joint Stereo bitrate.

Try it yourself on https://btcodecs.valdikss.org.ru/sbc-encoder/, with low bitrate, but with 68% coefficient.
Set Profile 1 to SBC Joint Stereo, 20 bitpool (146 kbps), and Profile 2 to Dual Channel, 19 bitpool (243 kbps, 67% more). It's clear that Dual Channel sounds much better.

This is also true for mono recordings for some reason, although the difference is from small but noticeable to negligible. Try it on Suzanne Vega. I haven't dig in dipper on the reasons, but I guess that Joint Stereo in SBC is not very effective. Just to note, I've also tested everything on Android SBC encoder and on Blackberry encoder, and got more or less the same results.

This is a good example. Can you say more about, " I guess that Joint Stereo in SBC is not very effective"?
3rd December 2019, 05:32 AM |#236  
Senior Member
Thanks Meter: 150
 
More
Quote:
Originally Posted by gorman42

@ValdikSS would you consider implementing this through a Magisk mod? Or would it be impossible to achieve?
Thanks for this awesome development.
Edit: after using the search function, apparently there should already be a Magisk module with similar functionality.

Which Magisk mod?

ValdikSS, is this even possible?
3rd December 2019, 07:16 AM |#237  
OP Senior Member
Thanks Meter: 178
 
More
Quote:
Originally Posted by klaberte

Which Magisk mod?

ValdikSS, is this even possible?

This is possible but require too much effort to implement properly. The mod available in magisk repository is not made by me, very simple and is not compatible with many devices.
The Following User Says Thank You to ValdikSS For This Useful Post: [ View ] Gift ValdikSS Ad-Free
3rd December 2019, 08:46 PM |#238  
Senior Member
Thanks Meter: 150
 
More
I so very appreciate your great support for this. I have a few more questions, and there are far too few people to ask about BT audio CODECs. Apologies in advance if I drift off-topic.

I am particularly interested in the connection to automobile head units. As people tend to hold their cars longer than their other personal electronics, you are usually using outdated tech in your car head unit when connecting BT audio. In your testing, how often do you see other noise sources in the BT band that cause audible distortion? Which codecs have the ability to dynamically renegotiate bitrates due to noisy conditions? Do they ever re-negotiate to a higher rate if the noise source is removed? Forcing a higher bit rate for SBC (which has to be implemented in head end units is a particularly great application for me, but I worry about the noise levels. The good news is that distances are short, and even stable if you use a phone holder.
4th December 2019, 02:08 AM |#239  
OP Senior Member
Thanks Meter: 178
 
More
Quote:
Originally Posted by klaberte

I am particularly interested in the connection to automobile head units. As people tend to hold their cars longer than their other personal electronics, you are usually using outdated tech in your car head unit when connecting BT audio. In your testing, how often do you see other noise sources in the BT band that cause audible distortion?

I haven't tested car head units much, but in several cars I've tested it seems that, contrary to all-digital processing in software, Bluetooth audio in cars is handled with a dedicated chip, which is connected via analog input to the amplifier. Bluetooth audio had different sound and volume in cars I've tested, but I can't say it had audible noise or distortion.
This applies to Mazdas and Hyundais.

Quote:
Originally Posted by klaberte

Which codecs have the ability to dynamically renegotiate bitrates due to noisy conditions?

Probably only LDAC in case of Android. SBC is technically capable of dynamic bitrates, but not on Android.

Quote:
Originally Posted by klaberte

Do they ever re-negotiate to a higher rate if the noise source is removed?

LDAC — yes.

Quote:
Originally Posted by klaberte

Forcing a higher bit rate for SBC (which has to be implemented in head end units is a particularly great application for me, but I worry about the noise levels. The good news is that distances are short, and even stable if you use a phone holder.

SBC XQ don't need to be implemented in car unit (receiver), only on a phone (transmitter), as long as the receiver is fully compliant with the specification and correctly playbacks SBC in Dual Channel mode.
The Following User Says Thank You to ValdikSS For This Useful Post: [ View ] Gift ValdikSS Ad-Free
Post Reply Subscribe to Thread

Guest Quick Reply (no urls or BBcode)
Message:
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes