Poor quality audio with modern Bluetooth headsets in HSP/HFP. Missing wide band speech support (Bluetooth A2DP codecs).

Bug #1838151 reported by Jeff Nappi
This bug affects 228 people
Affects Status Importance Assigned to Milestone
PulseAudio
Fix Released
Unknown
Arch Linux
Invalid
Undecided
Unassigned
bluez (Ubuntu)
Fix Released
Undecided
Unassigned
linux (Ubuntu)
Fix Released
Undecided
Unassigned
pulseaudio (Ubuntu)
Fix Released
Wishlist
Unassigned

Bug Description

Bluetooth HSP/HFP audio quality is poor on Ubuntu comparative to all other major platforms (Windows, MacOS, ChromeOS, Android, iOS).

Modern Bluetooth headsets (such as the Bose QC series headphones, many others) are capable of using HFP 1.6 with mSBC 16kHz audio encoding. As it currently stands, Ubuntu defaults to only supporting HSP headsets using 8kHz CVSD, and is incapable of supporting HFP 1.6 at this time.

The ChromiumOS team recently tackled this issue - https://bugs.chromium.org/p/chromium/issues/detail?id=843048

Their efforts may assist in bringing this to Ubuntu, however it appears that there are quite a lot of differences considering they have developed their own audio server solution etc.

The Bluetooth Telephony Working Group published the HFP 1.6 spec in May 2011 - https://www.bluetooth.org/docman/handlers/downloaddoc.ashx?doc_id=238193

Patches have been proposed in the past for this issue to the kernel and PulseAudio:

PulseAudio: https://patchwork.freedesktop.org/patch/245272/
Kernel: https://www.spinics.net/lists/linux-bluetooth/msg76982.html

It appears that the Chromium OS team applied the same kernel patch: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/77dd0cb94c1713a8a12f6e392955dfa64c430e54

ProblemType: Bug
DistroRelease: Ubuntu 19.04
Package: pulseaudio 1:12.2-2ubuntu3
ProcVersionSignature: Ubuntu 5.0.0-20.21-generic 5.0.8
Uname: Linux 5.0.0-20-generic x86_64
ApportVersion: 2.20.10-0ubuntu27.1
Architecture: amd64
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC0: jnappi 2777 F.... pulseaudio
CurrentDesktop: ubuntu:GNOME
Date: Sat Jul 27 11:08:29 2019
EcryptfsInUse: Yes
InstallationDate: Installed on 2017-11-04 (629 days ago)
InstallationMedia: Ubuntu 17.10 "Artful Aardvark" - Release amd64 (20171018)
ProcEnviron:
 PATH=(custom, no user)
 XDG_RUNTIME_DIR=<set>
 LANG=en_US.UTF-8
 SHELL=/bin/bash
SourcePackage: pulseaudio
UpgradeStatus: Upgraded to disco on 2019-07-18 (9 days ago)
dmi.bios.date: 06/07/2016
dmi.bios.vendor: LENOVO
dmi.bios.version: R07ET67W (2.07 )
dmi.board.asset.tag: Not Available
dmi.board.name: 20FW000TUS
dmi.board.vendor: LENOVO
dmi.board.version: SDK0J40705 WIN
dmi.chassis.asset.tag: No Asset Information
dmi.chassis.type: 10
dmi.chassis.vendor: LENOVO
dmi.chassis.version: None
dmi.modalias: dmi:bvnLENOVO:bvrR07ET67W(2.07):bd06/07/2016:svnLENOVO:pn20FW000TUS:pvrThinkPadT460p:rvnLENOVO:rn20FW000TUS:rvrSDK0J40705WIN:cvnLENOVO:ct10:cvrNone:
dmi.product.family: ThinkPad T460p
dmi.product.name: 20FW000TUS
dmi.product.sku: LENOVO_MT_20FW_BU_Think_FM_ThinkPad T460p
dmi.product.version: ThinkPad T460p
dmi.sys.vendor: LENOVO

Revision history for this message
Jeff Nappi (jeffnappi) wrote :
tags: added: patch
Changed in pulseaudio (Ubuntu):
importance: Undecided → Medium
status: New → Confirmed
Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote : Missing required logs.

This bug is missing log files that will aid in diagnosing the problem. While running an Ubuntu kernel (not a mainline or third-party kernel) please enter the following command in a terminal window:

apport-collect 1838151

and then change the status of the bug to 'Confirmed'.

If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.

This change has been made by an automated script, maintained by the Ubuntu Kernel Team.

Changed in linux (Ubuntu):
status: New → Incomplete
Changed in linux (Ubuntu):
status: Incomplete → Confirmed
tags: added: eoan
Changed in pulseaudio (Ubuntu):
status: Confirmed → Triaged
Revision history for this message
Michael (miwait00) wrote : Re: Poor quality audio with modern Bluetooth headsets in HSP/HFP. Missing wide band speech support.

Just noticed this with my new Bluetooth headset. With the same headset, the microphone and audio quality is a lot better when paired with an Android device than when paired with my desktop (4.15.0-55-generic Ubuntu 18.04.03 LTS).

Revision history for this message
Vedran Rafaelic (croraf) wrote :

The same. HP Omen as per this https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1852636. Eoan with 5.3.0-24-generic

Revision history for this message
Kyle Van Wagenen (kylevw) wrote :

This issue impacts the experience with Ubuntu significantly. Android, Windows, and OS X all sound much better with a Bluetooth headset when on calls, playing games, or listening to music while using the headset microphone.

Revision history for this message
Andreas Kostyrka (andreas-kostyrka) wrote : Re: [Bug 1838151] Re: Poor quality audio with modern Bluetooth headsets in HSP/HFP. Missing wide band speech support.

How feasible would it be to backport (steal) the Android Bluetooth stack to
Ubuntu?

Kyle Van Wagenen <email address hidden> schrieb am Sa., 14. Dez.
2019, 20:55:

> This issue impacts the experience with Ubuntu significantly. Android,
> Windows, and OS X all sound much better with a Bluetooth headset when on
> calls, playing games, or listening to music while using the headset
> microphone.
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/1838151
>
> Title:
> Poor quality audio with modern Bluetooth headsets in HSP/HFP. Missing
> wide band speech support.
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1838151/+subscriptions
>

Changed in pulseaudio (Ubuntu):
importance: Medium → Wishlist
Revision history for this message
Alberto Bellini (abel1960) wrote : Re: Poor quality audio with modern Bluetooth headsets in HSP/HFP. Missing wide band speech support.

This may come as a big problem in a business environment: frequently conference calls need affordable audio, in and out. We found many great devices at low cost, but with this Ubuntu problem, they become unusable.

Please, give higher rate to this issue, if possible.

tags: added: champagne
tags: removed: disco
Revision history for this message
Igor Maric (igormaric) wrote :

This is a huge issue in business environment. I can't understand that we don't have this in 2020 when all other platform has it and even now its importance is a wishlist? Come on! It's impossible to have a conversation using Bluetooth, audio is unusable.

Revision history for this message
Jeremie (charlet-jeremie) wrote :

A pity that I have to look for an extra usb microphone while I spent $200+ on a fancy bluetooth headset to have conference calls on my laptop. Reproduced with 3 bluetooth headsets. Quality is so poor on hsp/hfp that it's unusable. Didn't understand why I couldn't make it work decently until I found this bug.

Does anyone have a workaround, managed to hack his way out of this bug?

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Just checked again and it seems neither upstream Linux nor upstream PulseAudio have landed this yet. Perhaps they don't know about it or have lost track of the patches.

To get the ball rolling, anyone affected please open new upstream bugs in both:

Linux: https://bugzilla.kernel.org/
PulseAudio: https://gitlab.freedesktop.org/groups/pulseaudio/-/issues

and then tell us the new bug IDs.

If the Ubuntu kernel team is listening then maybe they can help with this.

tags: added: desktop-lts-wishlist rls-ff-notfixing
removed: champagne
Revision history for this message
Jan Dageförde (de-diamonds) wrote :

There is an upstream issue in PulseAudio: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/issues/776.

Changed in pulseaudio:
status: Unknown → New
Revision history for this message
stuart naylor (stuartiannaylor68) wrote :

Isn't this because HSP is not handled by pulse audio but ofono since PA11.0?

https://www.freedesktop.org/wiki/Software/PulseAudio/Notes/11.0/

Ofono is HSP 1.6 and wideband audio 16khz but ubuntu conf doesn't implement?

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Some recent commits in BlueZ 5.54 suggest wide band support is being prepared starting in kernel 5.6:

  https://git.kernel.org/pub/scm/bluetooth/bluez.git

Unfortunately both that kernel and bluez version seem to be too new to realistically make it into Ubuntu 20.04.

Revision history for this message
Daniel van Vugt (vanvugt) wrote :
Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in bluez (Ubuntu):
status: New → Confirmed
Revision history for this message
Guillaume Martres (smarter) wrote :

Someone is working on adding wideband support to pulseaudio (this currently requires ofono): https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/254

QkiZ (qkiz)
Changed in pulseaudio (Ubuntu):
status: Triaged → Confirmed
Revision history for this message
Josh Leivenzon (joshleivenzon) wrote :

This is even more important now, with many people working/learning from home...

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

One small step: bug 1877536

Revision history for this message
Jeff Nappi (jeffnappi) wrote :

Great to see traction on this, thank you for all your efforts Daniel! And to everyone else, this is a far more complex problem than you can imagine 😅 However it can and will be solved :)

Revision history for this message
Kevin Lin (kevins8) wrote :

+1

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

If you want to +1 bugs, please use the green link near the top left of the page.

Revision history for this message
agm97 (albertogomezmarin) wrote :

Are you planing to patch ubuntu packages or waiting to be in upstream?
I'm asking because in pulseaudio side I am watching no much interest at all in that changes.. and in the kernel's side the same, so I doubt if that will gonna be fixed or not, at least, in upstream.

Revision history for this message
Sebastien Bacher (seb128) wrote :

The patch doesn't sound like something we would like to carry as a distro patch, also the depends of ofono mentioned sounds suboptimal

Revision history for this message
joao vieira (joaosensefinity) wrote :

this affects me for some years now, bosses now complain for me to move to windows as now we are all remote with tons of meetings and this is a big impact on how they see all this linux desktop adoption.

tags: added: focal groovy
removed: eoan
Revision history for this message
Daniel van Vugt (vanvugt) wrote :
Changed in bluez (Ubuntu):
status: Confirmed → Fix Released
Changed in linux (Ubuntu):
status: Confirmed → Fix Committed
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Not sure how many parts there will be to this in the end...

bluez: Fixed in 5.54? That's in Ubuntu 20.10 already.
linux: Fixed in 5.6-ish? That's coming to Ubuntu 20.10 soon via kernel 5.8.
pulseaudio: In progress (pulseaudio!227).

Changed in pulseaudio (Ubuntu):
status: Confirmed → In Progress
status: In Progress → Triaged
Changed in linux (Ubuntu):
status: Fix Committed → Fix Released
Changed in pulseaudio (Ubuntu):
status: Triaged → In Progress
Revision history for this message
Cristiano Fraga G. Nunes (cfgnunes) wrote :

I use Ubuntu 20.04.1, and I have the same problem. I confirm this bug.

Revision history for this message
andy kitchen (kitchen-andy) wrote :

Ubuntu 20.04 user, can confirm this bug.

Revision history for this message
Victor Bloetjes (trustmega) wrote :

Linux Mint 19.3 user and I can also confirm this bug.

summary: Poor quality audio with modern Bluetooth headsets in HSP/HFP. Missing
- wide band speech support.
+ wide band speech support (Bluetooth A2DP codecs ).
summary: Poor quality audio with modern Bluetooth headsets in HSP/HFP. Missing
- wide band speech support (Bluetooth A2DP codecs ).
+ wide band speech support (Bluetooth A2DP codecs).
Revision history for this message
rahul (rahulgulve8) wrote :

Ubuntu 20.04 user, can confirm this bug.

Revision history for this message
bernd (triggetry) wrote :

Same here (Ubuntu 20.04)

Revision history for this message
maurizio de santis (izietto) wrote :

I've just logged in to share the workaround I've been using for the last two years. I have a Sony WH-1000XM3 Bluetooth headset, I bought the following USB key Bluetooth transmitter: https://www.amazon.it/gp/product/B01G3J1I5M/

No issues with it, audio quality is great either for music and for calls, both incoming audio and mic.

It saved me from installing another OS for work, I hope it might be a good alternative for someone else.

Revision history for this message
Falc (roma24ster) wrote :

I can confirm that the above solution works well. I bought a similar but slightly cheaper one:
https://www.amazon.co.uk/gp/product/B086L2WNPG/ref=ppx_yo_dt_b_asin_title_o06_s00?ie=UTF8&psc=1

Basically the dongle pairs directly to your headset and acts as a usb sound card. By far the easiest solution I've found.

Revision history for this message
Andreas Kostyrka (andreas-kostyrka) wrote : Re: [Bug 1838151] Re: Poor quality audio with modern Bluetooth headsets in HSP/HFP. Missing wide band speech support (Bluetooth A2DP codecs).

Generally speaking, the "USB soundcard" is the last fallback of an
experienced Linux user if you are unhappy what is in your laptop. Be it the
Bluetooth software stack or the fighting with crappy driver support for the
physical sound card hardware.

But thanks for pointing out that solution.

Andreas

Am Mi., 14. Okt. 2020 um 11:05 Uhr schrieb Falc <<email address hidden>
>:

> I can confirm that the above solution works well. I bought a similar but
> slightly cheaper one:
>
> https://www.amazon.co.uk/gp/product/B086L2WNPG/ref=ppx_yo_dt_b_asin_title_o06_s00?ie=UTF8&psc=1
>
> Basically the dongle pairs directly to your headset and acts as a usb
> sound card. By far the easiest solution I've found.
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/1838151
>
> Title:
> Poor quality audio with modern Bluetooth headsets in HSP/HFP. Missing
> wide band speech support (Bluetooth A2DP codecs).
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/pulseaudio/+bug/1838151/+subscriptions
>

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Actually most laptops (or desktops) can't compete with USB sound cards. Because the audio chips that come on your motherboard:

 * are usually cheaper and lower quality;
 * often have limited kernel/ALSA driver support (which is why the alsa-driver bug backlog is always out of control);
 * often suffer from noise on the headset jack from the digital-to-analog stage being too close to the rest of the computer.

So I strongly recommend USB audio in general. Especially for wired headsets where you can also avoid the lossy nature of Bluetooth audio encoding.

And for Bluetooth audio, such a USB dongle sounds like a great workaround for this bug. But we all wish it wasn't necessary.

Revision history for this message
Andreas Kostyrka (andreas-kostyrka) wrote :

Nice explanation of the mess that Bluetooth audio is, as I'm reliving my
frustrations currently (my wife bought her first headset, for her Windows
laptop, and discovered that “plug and play” is sadly “buy and pray” in
Bluetooth land :( )

https://habr.com/en/post/456182/

* generally all OS (Android, Linux, Windows, AFAIK, but probably also the
Apple offerings) are secretive about what they negotiate with the headset.
 (I mean, capturing the traffic and analysing it to know which codec is
used. OK, on Android & Linux that sounds like part of the heritage, but I
discovered yesterday that this state-of-the-art in 2020 in the Windows
world)
* headset manufacturers tend to be secretive about the features and
protocols/profiles their devices support. Now some of that is
“understandable” manufacturers not wanting to show that their devices don't
support the cool stuff, but in many cases manufacturers don't give the
details even if they would show their products in a positive light. Guess
they don't want a 2 KB of small print of abbreviations in their spec
sheets.
* Furthermore BT Audio is complicated by the fact, that historically the
standard supports only “high quality" playback & but mono playback with a
groovy frequency bandwidth (GSM style sound) when recording audio. There
are ways around that, but not all devices implement them, and not always in
the same way.”
* patented codecs, pure joy (that makes the xkcd comic in the above link
even "funnier" for open source systems).
* Thus you have a situation that standards that out for decades are still
only implemented partially by the market, and where they are implemented,
they are not necessary implemented 100% by the book, shudder.

Ah, sorry for the rant, but “buying BT headsets” raises my blood pressure,
and I'm one of the happy owners of a flagship mobile without a 3.5 mm
connector (which is fine, I'm too clumsy to use tethered headphone on the
move anyway, shrug).

Andreas

Am Mi., 14. Okt. 2020 um 11:41 Uhr schrieb Daniel van Vugt <
<email address hidden>>:

> Actually most laptops (or desktops) can't compete with USB sound cards.
> Because the audio chips that come on your motherboard:
>
> * are usually cheaper and lower quality;
> * often have limited kernel/ALSA driver support (which is why the
> alsa-driver bug backlog is always out of control);
> * often suffer from noise on the headset jack from the digital-to-analog
> stage being too close to the rest of the computer.
>
> So I strongly recommend USB audio in general. Especially for wired
> headsets where you can also avoid the lossy nature of Bluetooth audio
> encoding.
>
> And for Bluetooth audio, such a USB dongle sounds like a great
> workaround for this bug. But we all wish it wasn't necessary.
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/1838151
>
> Title:
> Poor quality audio with modern Bluetooth headsets in HSP/HFP. Missing
> wide band speech support (Bluetooth A2DP codecs).
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/pulseaudio/+bug/1838151/+subscriptions
>

Revision history for this message
Alex Shkop (a-v-shkop) wrote :

Have a question about USB bluetooth transmitters mentioned above. Both models include Talk/Listen switches. Do you have to use them to get decent quality for music and for calls? Or is music quality good even in Talk mode?

Revision history for this message
Falc (roma24ster) wrote :

I can only speak to the one that I linked, but yes it has talk/list switch. The talk mode is only for talking (the music quality is BAD), the lisen mode is only for listening (the music quality is good).

Revision history for this message
Andreas Kostyrka (andreas-kostyrka) wrote :

I've got a DG60 dongle (a slightly bigger cousin), and my experiences with
a headset that does only have SBC/MP3 codecs (Aftershokz Aeropex)

   - It switches attached to my Linux (Ubuntu 18.04) automatically to
   HFP/HSP profile (mono + microphone, but in good quality) when my laptop
   starts to use the microphone.
   - You can switch mode manually (for the very seldom case where it
   somehow does not realize that it should switch).

Andreas

Am Mi., 28. Okt. 2020 um 19:30 Uhr schrieb Falc <<email address hidden>
>:

> I can only speak to the one that I linked, but yes it has talk/list
> switch. The talk mode is only for talking (the music quality is BAD),
> the lisen mode is only for listening (the music quality is good).
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/1838151
>
> Title:
> Poor quality audio with modern Bluetooth headsets in HSP/HFP. Missing
> wide band speech support (Bluetooth A2DP codecs).
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/pulseaudio/+bug/1838151/+subscriptions
>

Revision history for this message
Paul (bratstejskal) wrote :

How do we get the Kernel maintainers to approve the remaining patches? I thought it might be fixed in 20.10 (KUbuntu), but it is not. I would think there is at least one kernel approver within Canonical? If not, who do I get in touch to talk about this?

28 comments hidden view all 108 comments
Revision history for this message
Davide Pessina (pesso82) wrote :

Yes, that’s the point

I’m try to use JBL T450BT

These are the available specs on official site

Control and Connection Specifications
Bluetooth profilesHFP v1.5, HSP v1.2, A2DP v1.2, AVRCP v1.4
Bluetooth frequency2.402GHz-2.48GHz
Bluetooth transmitted modulationGFSK,π/4DQPSK, 8DPSK
Bluetooth transmitter power0-4 d

I don’t find mSBC information, so it’s supposed they don’t support mSBC

What about Sony WH-CH700? They seems to support mSBC, but who knows.. :(

Revision history for this message
Igor (igor871) wrote :

@pesso82

There is your problem. Those headphones do not support HSP 1.6 profile, only 1.5.

Revision history for this message
Igor (igor871) wrote :

I meant HFP profile.

Revision history for this message
Richard Somlói (ricsipontaz) wrote :

PulseAudio 14.0 is out [1], so hopefully there's no other blocker to merge missing features:
https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/227

1: https://www.freedesktop.org/wiki/Software/PulseAudio/Notes/14.0/

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Unfortunately the developers could not agree and closed: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/227

That doesn't mean desktop Linux will never have it. Just not any time soon :(

Changed in pulseaudio (Ubuntu):
status: In Progress → Triaged
Revision history for this message
Richard Somlói (ricsipontaz) wrote :

Disappointing. I've just ordered a 1mii B10 USB Bluetooth 5.0 Audio Transmitter as a workaround...

Revision history for this message
Felix Griewald (tiiunder) wrote :

Time to get a Macbook or Chromebook or whatever

Revision history for this message
Filippo (filippom) wrote :

I understood that they need to deal with new codec inclusion, via GStreamer o other libs,
and that writing code and manage a community is not a simple task.

Said that,

IMHO there are three big question with bluetooth and PulseAudio:
1. in these days we (probably most of us) are always on web conferencing and we need good audio quality in both direction, mic and speaker.
Current bluetooth headsets are capable of using Bluetooth Profile HFP 1.6 with mSBC 16kHz audio encoding, this standard permit high quality voice conferencing and It was made in 2011...9 year ago.

2. Bluetooth Profile A2DP for listening only (music...) There are a lot of codec for
high quality listen audio, es. SBC-XQ, aptX-LL, aptX-HD, aptX Voice and FastStream

3. Support for new version of Bluetooth / Profile. Ex #1 BT 5.3 with LC3 (Low Complexity Communications Coded (LC3)) codec. Ex #2 BT Profile HFP 1.8 with codec selection and Enhanced Voice Recognition Activation.

My two cents

Revision history for this message
Mike Rans (rans) wrote :

Perhaps the best hope is that Pipewire develops quickly and replaces Pulseaudio:

https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/249

Revision history for this message
Nikke (nmellegard) wrote :

It seems that on Ubuntu 20.10 it is fixed by installing pulseaudio-modules-bt (which also uninstalls pulseaudio-module-bluetooth) from this ppa: https://launchpad.net/~berglh/+archive/ubuntu/pulseaudio-a2dp

Then:
> sudo systemctl restart pulseaudio
> pulseaudio -k

Did just a few tests with Google Duo with my Jabra Elite Active 65t buds, and the sound is a LOT better both on my and the other end!

Revision history for this message
Nikke (nmellegard) wrote :

Edit for #78

sudo systemctl restart pulseaudio -> sudo systemctl restart bluetooth

And perhaps a bit quick on the trigger... The sound seems better, though maybe not that much :/

Revision history for this message
soredake (soredake) wrote :
Revision history for this message
Richard Merren (richard-merren) wrote :

I installed pulseaudio-modules-bt and it does give some new options for sound output and possibly better sound, but microphone sound quality was still iffy. Recorded sound on Audacity seemed better and was slightly louder (according to the DB meter), but a test call on Microsoft Teams was still muffled and unintelligible.

I have ordered a Avantree DG80 dongle (which makes the bluetooth connection externally and appears to linux as usb audio) and will hopefully be able to continue working with that, but I would love to see this problem resolved in pulseaudio.

For the record, I am using a Sony WH-1000XM4 headset on PopOS 20.10 running on a System76 Darter Pro.

Revision history for this message
Piotr Zientarski (piotr.zientarski) wrote :

Avantree DG80 is an amazing device, it works out of box and it switches between HSP/A2DP profiles automatically - tested with AKG K371-BT and Denon GC-25w.

Revision history for this message
Richard Merren (richard-merren) wrote :

I can't seem to get the DG80 working correctly under PopOS 20.10. It works great for listening to music (though that worked directly on bluetooth without issues) but I can't seem to get the correct mode for talk. Since you say you have success with it, I will play with it some more before returning it and see if I can get it set up properly. It is probably some kind of configuration thing on my end, but I was hoping it would solve my microphone problems.

As it stands, my best option is using the headset with my phone for Teams calls--the sound works perfectly there. If I find the right magic, I'll reply again here.

Revision history for this message
Piotr Zientarski (piotr.zientarski) wrote :

Strange, maybe yours is broken?

Sound from mic should be quiet good, like on Windows or Android (mono 16 kHz, or even 48 kHz if your headset supports FastStream codec).

I have also Zoweetek B0310, this one also works for me but it doesn't have auto profile switching.

I'm using Lenovo T480, ArchLinux with kernel 5.10, pulseaudio 14 and latest Gnome.

Revision history for this message
Richard Merren (richard-merren) wrote :

I think the problem was in the headphones. I found I was having trouble on my phone as well. I contacted Sony support and they had me try a soft reset of the headset, which seems to have restored function. I am still getting bad mic sound on bluetooth, but I think it is just the low quality sound on this thread and not the completely muffled sound I was getting before. I will try reconnecting to the DG80 now and see if it is any better.

Revision history for this message
Jean- (jean-helou) wrote :

If I understand correctly all the discussions, an first step in the direction of higher quality sound for BT headsets just got merged into PA https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/440

Changed in pulseaudio (Ubuntu):
status: Triaged → Fix Committed
Revision history for this message
Jean- (jean-helou) wrote :

the next step to get a full fix and improved sound quality for voip calls over BT headset is coming in https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/254

Revision history for this message
Jeff Nappi (jeffnappi) wrote :

>Jean- (jean-helou) wrote 6 hours ago: #87
>the next step to get a full fix and improved sound quality for voip calls over BT headset is >coming in https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/254

This is good news! Proper support for mSBC is critical for me to consider this bug resolved. It was the original intention of opening the bug in the first place :)

tags: added: fixed-in-15 fixed-upstream
Revision history for this message
Jeff Nappi (jeffnappi) wrote :

For those following along - it appears that the future of Linux audio servers will likely be PipeWire:

https://lwn.net/SubscriberLink/847412/d7826b1353e33734/

Revision history for this message
Oscar Pérez del Campo (oscarperezdelcampo) wrote :

I guess this bug has been solved. As stated in https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/issues/776 by @rmeissn, from gnome-settings, when the headset is connected, you can switch from HSP/HFP to A2DP.
Once changed this setting my headsed sounds perfectly.

Revision history for this message
Andreas Kostyrka (andreas-kostyrka) wrote :

@Oscar That was never an issue: A2DP always sounded decent. The problem
with Linux Bluetooth headset support comes when you want decent quality
while listening and recording sound, you know e.g. during video calls.

Am Di., 30. März 2021 um 07:35 Uhr schrieb Oscar Pérez del Campo <
<email address hidden>>:

> I guess this bug has been solved. As stated in
> https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/issues/776 by
> @rmeissn, from gnome-settings, when the headset is connected, you can
> switch from HSP/HFP to A2DP.
> Once changed this setting my headsed sounds perfectly.
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/1838151
>
> Title:
> Poor quality audio with modern Bluetooth headsets in HSP/HFP. Missing
> wide band speech support (Bluetooth A2DP codecs).
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/pulseaudio/+bug/1838151/+subscriptions
>

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Maybe it was this we were waiting for:

https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/507

Regardless, PulseAudio version 15 (not yet released) is the goal.

Revision history for this message
Luis Alberto Pabón (copong) wrote :

That would be for 21.10 at this point yes?

I wonder, how close/far is Ubuntu to swap PA for Pipewire? After next lts? I do believe this particular issue is not present on current Pipewire.

Revision history for this message
Andreas Kostyrka (andreas-kostyrka) wrote :

We'll see, Fedora 34 seems to have switched to Pipewire, and F34 is in my
near future, so I'll be experimenting.

Am Mi., 7. Apr. 2021 um 11:51 Uhr schrieb Luis Alberto Pabón <
<email address hidden>>:

> That would be for 21.10 at this point yes?
>
> I wonder, how close/far is Ubuntu to swap PA for Pipewire? After next
> lts? I do believe this particular issue is not present on current
> Pipewire.
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/1838151
>
> Title:
> Poor quality audio with modern Bluetooth headsets in HSP/HFP. Missing
> wide band speech support (Bluetooth A2DP codecs).
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/pulseaudio/+bug/1838151/+subscriptions
>

Changed in pulseaudio:
status: New → Fix Released
Revision history for this message
Luis Alberto Pabón (copong) wrote :

I haven't got any pulseaudio updates on 21.04, to which version of ubuntu was the fix released to?

Revision history for this message
Dario Menin (darioalessio-menin) wrote :

Will this be released to Ubuntu 20.04? This is very important for voice calls in these times.

Revision history for this message
Jeff Nappi (jeffnappi) wrote :

After two years of waiting on this, and seeing how disappointing the progress has been both in Ubuntu and PulseAudio, I am happy to say that I believe PipeWire is the future and I would hope that Ubuntu moves forward with switching to PipeWire (while keeping PulseAudio as an alternative).

I was able to follow these directions to switch to PipeWire and have found it to be acceptable with Bose NC700s and mSBC/HFP:

From: https://www.reddit.com/r/pop_os/comments/ofdalv/replaced_pulseaudio_with_pipewire_on_popos_2104_i/h4c5p6u/

# Add ppa for latest build
sudo add-apt-repository ppa:pipewire-debian/pipewire-upstream && sudo apt update

# Install components
sudo apt install gstreamer1.0-pipewire pipewire-media-session libspa-0.2-bluetooth libspa-0.2-jack pipewire pipewire-audio-client-libraries

# If you get unmet dependencies, you can run:
sudo apt --fix-broken install

# Reload new services
systemctl --user daemon-reload

# Disable PulseAudio service
systemctl --user --now disable pulseaudio.service pulseaudio.socket

# If you update from previous version of PopOS
systemctl --user mask pulseaudio

# Enable Pipewire services
systemctl --user --now enable pipewire pipewire-pulse

# Enable Pipewire media session
systemctl --user --now enable pipewire-media-session.service

# I ran into an issue with a couple dependencies and needed to do the following before everything worked:
sudo apt install libspa-0.2-bluetooth libfdk-aac2
systemctl --user restart pipewire.service pipewire-pulse.service

Hope this helps.

tags: removed: groovy
Revision history for this message
Daniel van Vugt (vanvugt) wrote :
Changed in pulseaudio (Ubuntu):
status: Fix Committed → Fix Released
Revision history for this message
Vladislav Shumkin (spurlos) wrote :

Any plans for releasing Pulseaudio 15 for Hirsute?

Revision history for this message
Sebastien Bacher (seb128) wrote :

no, new features don't really qualify for a stable update

Revision history for this message
Stanislav German-Evtushenko (giner) wrote :

While waiting for the next LTS version of Ubuntu I was able to fix the mic issue on 20.04 by installing pipewire (followed this guide https://askubuntu.com/questions/1330395/newly-installed-ubuntu-20-04-bluetooth-headset-sound-and-mic-not-working/1340889#1340889 except I installed wireplumber instead of media session as the latter one was not able to remember the chosen profile)

Revision history for this message
Jean- (jean-helou) wrote :

Hi everyone,

small progress report :

I tried the pipewire trick and it didn't work out for me, while it initially seemed to work: auto switch to the HSP/HPF profile didn't work and after a manual switch the headset would drop out during a conversation.
I reverted to pulseaudio and invested a bit more time, now I am _almost_ there :

I had to add the following to ~/.config/pulse/default.pa

.include /etc/pulse/default.pa
.nofail
unload-module module-bluetooth-policy
.fail
.ifexists module-bluetooth-policy.so
load-module module-bluetooth-policy auto_switch=2
.endif

.ifexists module-bluetooth-discover.so
load-module module-bluetooth-discover
.endif

to get the autoswitch to work.

I am happy to report that in slack (from snap) the audio now behaves just right and friends tell me I no longer sound like a robot.
Unfortunately this still doesn't work with zoom and there seems to be multiple issues. They probably come from zoom itself but I am unsure what to report to them.

according to https://gavv.github.io/articles/pulseaudio-under-the-hood/#autodetecting-properties it should be possible to make pulseaudio understand that it has to switch profiles by changing /usr/share/applications/Zoom.desktop and adding Telephony to the categories. I have not been able to make this work without auto_switch=2

Here are two scenarios that fail:
after a fresh boot (so all the stars are aligned), start zoom, create a new meeting, start the recording, say a few words, stop the recording, stop the meeting, open the resulting audio or video file
the sound is bad when it is expected to be good.

After a fresh boot (so all the stars are aligned), start zoom, go to settings-> audio, after doing this my headset is non functional and I must shut it down and start it back up to restore functionality.

can someone help me determine what zoom is doing wrong ?

I will also try a few other apps in the coming weeks

Revision history for this message
Jan (jankanis) wrote :

I've also got an Avantree DG80 as a workaround and I can confirm it works with my Trekz OpenComm headset. It supports sounds up to 8 kHz (corresponding to mSBC with a 16 kHz sampling frequency) with the mic enabled, while anything connected directly to Linux bluetooth only goes up to 4 kHz in HSP/HFP mode (CVSD). The sound with mSBC is still noticeably worse than in A2DP mode when listening to music, but a lot better than CVSD.

Revision history for this message
Christian Huck (mrzx4l98d4tp89jab6-ubuntu-hwbqs6tox1bv6csee9) wrote :

Hi,
now it's 2023 and I still have this problem.
Using Mint 21.1 and Teams for Linux.
When I switch to A2DP I cannot use the headset mic.
When I switch to HFP the sound in conversations is horrible.
Would appreciate a fix here.

Revision history for this message
Konrad Materka (materka) wrote :

@Christian Mint is based on Ubuntu 22.04 which is from 2022 so uses old pulse-audio.

> When I switch to A2DP I cannot use the headset mic.
This is expected, A2DP is one direction only.

> When I switch to HFP the sound in conversations is horrible.
pulse-audio is kind of abandoned and actively developed. There are some fixes added but it seams that all effort goes to pipewire now. Give it a try.

Add repositories for latest version:
sudo add-apt-repository ppa:pipewire-debian/wireplumber-upstream
sudo add-apt-repository ppa:pipewire-debian/pipewire-upstream

Follow instructions to install and enable pipewire. There are multiple guide on the Internet, for example:
https://trendoceans.com/enable-pipewire-and-disable-pulseaudio-in-ubuntu/

Revision history for this message
Jan (jankanis) wrote :

@Christian, @Konrad, Ubuntu 22.04 has this fixed. It was fixed in PulseAudio 15, run `pulseaudio --version` to see the version you are running.

But HSP sound is still much worse than A2DP sound e.g. if you listen to music. HSP is still mono and limited to a bandwidth of 8 kHz. The scope of this bug was only to support WBS in the Linux stack, so improve HSP sound from even more terrible 4 kHz bandwidth to what it is now. The current limitations are with the Bluetooth specification and the limited data rates that bluetooth offers, so PipeWire is not going to help with that. If you want better two-way sound your options currently are using a wire, or using a proprietary wireless transmission (search for gaming headsets) or Bluetooth codec (there is the FastStream codec, but supporting headsets are extremely rare, I couldn't find anything with a proper mic that I would consider for video calls).

Revision history for this message
Christian Huck (mrzx4l98d4tp89jab6-ubuntu-hwbqs6tox1bv6csee9) wrote :

Thank you for your response Konrad.

I followed the docs for replacing pulseaudio with pipewire which worked well.
Now the bluetooth app offers more codecs to use.
I figured out "mSBC" offers the best quality.
Compared to A2DP it still sucks and sounds horrible.
You dont want to accept this if you bought a bluetooth headset for 250 EUR with brilliant audio capabilities.

So I ended up to use a separate mic from my webcam.
Hope this will be fixed soon.
Thank you so far.

Revision history for this message
Luis Alberto Pabón (copong) wrote :

Christian, it should only be using msbc when the headset's microphone is in use, otherwise it should automatically fall back to A2DP.

Chris Guiver (guiverc)
Changed in archlinux:
status: New → Invalid
Displaying first 40 and last 40 comments. View all 108 comments or add a comment.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Related questions

Remote bug watches

Bug watches keep track of this bug in other bug trackers.