Support for higher quality bluetooth A2DP audio codecs in sailfishos

SailfishOS should have support for additional higher quality bluetooth A2DP audio codecs. Currently (as of sfos v4.0) only the basic mandatory SBC codec is supported with bluetooth A2DP.

Optional A2DP codecs such as AAC, AptX, AptX HD, and LDAC allow using bigger bitrate and/or higher quality than the mandatory/default SBC codec.

sfos currently ships bluez v5.54, which in theory has the initial support for using and switching multiple bluetooth A2DP audio codecs, but it’d be good to upgrade to latest bluez version (v5.58+) where A2DP codecs functionality is known to work properly on desktop/laptop Linux, as there have been multiple related bugfixes since version 5.54.

Pulseaudio 15.0 will have support for multiple bluetooth A2DP codecs (when used with current bluez, and additional codecs are available). Currently pulseaudio 15.0 is still in development, and the final version hasn’t been released yet, but the multiple bluetooth A2DP codecs functionality is already merged and working.

Pulseaudio 15.0 also has support for higher quality bluetooth backchannel / microphone in HFP mode by using optional mSBC codec (also known as Wide Band Speech). mSBC allows using 16 kHz samplerate, which is much better quality than the 8 kHz samplerate with the default CVSD microphone codec.

Pulseaudio 15.0 also enables using multiple SBC codec profiles/bitpools in A2DP mode, allowing higher quality also with the mandatory SBC codec.

14 Likes

Related topics:

old tjc:

1 Like

LDAC (Hi-Res Audio Wireless Certification) is one of the Main Reasons to buy a Sony Smartphone. I have several Sony Headphones and some of them are wireless (WH-1000XM3, WI-1000XM2) but also does my A/V Receiver support LDAC.

It bumps up the Bit-Rate from 320kbit/s to 990kbit/s and is the only Codec (beside LHDC) that supports AudioCD Quality with lossless compression.

I can use LDAC on my Linux Notebook without any issues and since Android 10, every Android Smartphone Supports LDAC due to the GPL License of the LDAC Encoder.

Everything i had to do to make it running on Linux was to install pulseaudio-modules-bt (which had libldac as an dependency) and thats it. Now i can play music using LDAC on all my devices.

So it shouldn’t be that complicated to implement that in SFOS, or?

3 Likes

PulseAudio 15.0-rc1 (14.99.1) has been released:
https://lists.freedesktop.org/archives/pulseaudio-discuss/2021-May/032082.html

This is probably going to be the largest set of changes in a single release in a very long time. A non-comprehensive set of highlights include:

  • Support for more Bluetooth A2DP codecs, higher quality with SBC, and absolute volume
  • Native HFP implementation for better headset compatibility and call audio quality using the mSBC codec
3 Likes

Pulseaudio 15.0 has been released:
https://lists.freedesktop.org/archives/pulseaudio-discuss/2021-July/032099.html

  • “Lots of Bluetooth features (more A2DP codecs, native HFP support with mSBC for better audio quality, AVRCP Absolute Volume)”
  • Support for multiple bluetooth A2DP codecs: LDAC, AptX, AptX HD, SBC XQ, etc
  • Support for higher quality microphone/backchannel via mSBC / Wide Band Speech (WBS).
2 Likes