Higher bitrate SBC support (SBC HD/SBC UHQ) #63
Comments
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
I'm also very interested in this. It's currently very unpleasant to use SBC-devices on Linux |
Any progress on this? |
FYI, LineageOS post on this (they called this SBC XQ): https://lineageos.org/engineering/Bluetooth-SBC-XQ/ |
just bought a pair of redmi airdots for the office and they only support SBC. it would be nice if we could get the patch included |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
Up |
It’s worth to mention that there’s PR for this #90 |
I'm currently working on this issue. For now - I've added configuration overrides for almost all SBC parameters. Stuff like SBC HD/DualChannel/etc seems to work pretty well (at least for my devices). I just need to add some user-friendly configuration options for it. |
Close. |
Has configration been added? Which file I should edit to configure it? I've read readme but dont understood which file i should edit. |
Hello.You should add configuration to "default.pa" config file like that (example):
|
|
SBC has "bitpool" configuration parameter which influence on bitrate of encoded stream. It's often 'locked' to 53 on most headphones, which corresponds to 328 kbps Joint Stereo ("High Quality" profile as defined in A2DP specification), but it could be circumvented on any headphones by using Dual Channel mode instead of Joint Stereo, which uses all available bitpool for each channel separately, which effectively doubles the bitrate and improves audio quality.
You can use bitrates up to 617 kbps (for 44.1 kHz) on the devices with 'locked' bitpool and up to probably 917 kbps on the devices without maximum bitpool limit.
Optimal bitrates are 452 kbps for EDR 2 Mbps devices and 551 kbps for EDR 3 Mbps devices.
SBS 451 kbps is superior to aptX and SBC 551 kbps is on par with aptX HD.
Please consider adding Dual Channel profile support into your module. @pali already added it into his patchset, see https://lists.freedesktop.org/archives/pulseaudio-discuss/2019-June/031176.html
Basically you need to add additional profile with the following parameters:
I'm not aware if you can determine EDR speed using BlueZ API, but @pali said you can determine an MTU value. Here's what I did for Android:
Note that MTU here is basically a payload size including all audio headers (SBC payload + 1 byte SBC header), an 'MTU' of audio stream, not of an underlying connection.
More information here: Bluetooth stack modifications to improve audio quality on headphones without AAC, aptX, or LDAC codecs
Bitrate calculator may be helpful: https://btcodecs.valdikss.org.ru/sbc-bitrate-calculator/
The text was updated successfully, but these errors were encountered: