110

I've bought a Philips SHB4000 headset (phone+mic) wireless (bluetooth) and It has a good quality when I pair it with my phone or PC Windows but when I pair it with the same PC on Ubuntu (14.10 64 bits) the sound quality goes down.

I've been googling about but I haven't found any convincing answer.

Tks in advance! ....

5
  • 18
    Sounds like you are using the HSP/HFP instead of A2DP, go into sound settings, then see what the SHB4000 is using
    – Jeremy31
    Sep 21, 2015 at 23:45
  • 2
    I had loud sound while I was changing to A2DP... I got a fright! :P Tks! Now it works with good quality! Sep 22, 2015 at 0:05
  • Same problem with a Philips SHB7150 [ Philips SHB7150 ][1] [1]: p4c.philips.com/cgi-bin/dcbint/… Sep 22, 2015 at 0:48
  • 1
    For those who had the same problem that I had (that the high fidelity playback does not work and cuts out all audio and applications that use this audio): this script solved the issue: askubuntu.com/a/864841/119445
    – Peeperkorn
    Mar 7, 2017 at 16:15
  • See this thread regarding A2DP not working with the mic. Not currently solved, unfortunately. Mar 24 at 11:18

10 Answers 10

230
+50

Go into sound settings, then see what the SHB4000 is using. If it uses HSP/HFP change to A2DP.

screenshot

20
  • 4
    It worked for my MPow too! Aug 18, 2016 at 11:30
  • 3
    Thanks. Just noting this worked for my Sony MDR-ZX770BN as well.
    – Nicholas
    Sep 30, 2016 at 0:52
  • 2
    Seems I spoke too soon. When I change the settings from HSP/HFP to A2DP Sink, the sound cuts out and any applications which use sound stop working
    – Peeperkorn
    Mar 7, 2017 at 15:49
  • 3
    This worked for me on Fedora 25. It temporarily re-routed things back through my desktop speakers, but I just swapped the Output Device back and forth a couple times and it started working perfectly.
    – Craig Otis
    May 11, 2017 at 13:12
  • 3
    But for my Sony MDR-ZX770BN I can't change to A2DP: configuration not saved. Gubuntu 17.04
    – demon101
    Aug 18, 2017 at 12:27
27

Here is the solution that worked for me on Debian 9 (menu impossible to apply)

Important: you will have to restart bluetooth before each reconnection !

Source: https://unix.stackexchange.com/a/415928/325467


I am using a SoundBuds Curve headset in Debian 9, and have had the same problem, I was unable to switch from the HSP/HFP profile to the A2DP profile.

What fixed the issue for me, was editing /etc/bluetooth/main.conf

sudo nano /etc/bluetooth/main.conf

First add the following lines under the [General] tag (copied from audio.conf, I found searching for a solution):

# Automatically connect both A2DP and HFP/HSP profiles for incoming
# connections. Some headsets that support both profiles will only connect the
# other one automatically so the default setting of true is usually a good
# idea.
AutoConnect=true

Next you must enable support for multiple profiles (a few lines below) just uncomment and set value to multiple

MultiProfile = multiple

Then restart bluetooth service

sudo systemctl restart bluetooth 

Important: you will have to restart bluetooth before each reconnection !

5
  • 10
    The quality is now much better, but the microphone's gone :D Aug 8, 2019 at 11:34
  • @MonkeyMonkey You have to switch back to HSP/HFP profile.
    – Player1
    May 13, 2020 at 16:42
  • 1
    This answer helped in no way. The headset works worse now. :( Before: only low quality available. After: only low quality, with disconnections and although headset "connects", the sound settings miss the bluetooth device.
    – Giszmo
    Nov 30, 2020 at 1:06
  • This also worked on Ubuntu 20.20 or whatever the latest 2020 one is lol. A bit confusing as to why but whatever, thanks music no longer sounds like windows 3.11 uLaw (I'm getting old..) :)
    – John Hunt
    Dec 2, 2020 at 21:34
  • > Important: you will have to restart bluetooth before each reconnection ! This is true when using my Sennheiser headphones. Sound quality is bad (as if listening from inside a cave or something). Then I restart the service and the quality much better.
    – george_h
    May 25, 2021 at 7:55
14

For those experiencing this with Ubuntu 16.04, and switching to A2DP only worked once, I had to disconnect, forget the device, reconnect, switch to A2DP, for it to start working again.

(Wanted to post this as a comment, but n00b-ness prevents this)

1
  • i added the below bluetooth config as per 56ka. didn't work this also nearly didn't work until I went back into audio and chose main speaker to be default then my current device boombar to be default again - it is a little flaky - and requires running through the sequences- Dec 13, 2018 at 15:07
9

For Ubuntu 20.04 only (seems to be fixed in 21.04)

For anyone, that uses the Microphone of their Headset with Ubuntu and complain about bad sound and speech quality:

There is a new update in Mai 2021:

With this commit, HFP can be enabled which supports wideband audio-speech via bluetooth. I was able to improve my microphone quality alot and my colleagues actually can understand me now and I dont sound like talking with an old phone.

Tested on Ubuntu 20.04 with Sony 1000-mx3

For this to work you need to clone the latest pulseaudio master from their git repository by:

git clone https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git

Compile and install via

meson build
sudo ninja -C build install
sudo ldconfig

Taken from the docs of pulseaudio

You might have to install source-dependencies for the compilation to work. For this goto open Software-Settings with software-properties-gtk and enable source. Then install the build-dependencies with sudo apt-get build-dep pulseaudio

Restart. Then, when you open your Sound-Settings you are able to choose the HFP-Profile, which enables much better sound-quality for VOIP. For best music-quality, still better switch to A2DP again, however, this one does not support microphone usage.

7
  • 1
    Amazing, I cannot believe that's finally possible -
    – dargmuesli
    Jun 8, 2021 at 17:15
  • Thanks, this seems to be part of the distribution starting with ubuntu Impish release packages.ubuntu.com/impish/pulseaudio
    – cheffo
    Aug 27, 2021 at 5:35
  • How difficult is for Canonical to fix a problem which is there for decades? Something that is given and guaranteed to work on every other Operating System?...
    – DimiDak
    Sep 16, 2021 at 8:12
  • Thanks for this. It literally changes my life. I was getting ready to try replacing pulseaudio with pipewire on focal but this works wonders.
    – jhnwsk
    Nov 1, 2021 at 14:03
  • 1
    after trying this and finding it did not work, I realised @cheffo's comment means that Ubuntu 21 already has this fix in it; only try this answer if you are still on Ubuntu 20 or lower! Mar 24 at 11:18
5

The solution which worked for me is here

basically it says to do:

$sudo apt install pulseaudio pulseaudio-utils pavucontrol pulseaudio-module-bluetooth

then add:

[General]
Enable=Source,Sink,Media,Socket

to /etc/bluetooth/audio.conf and run:

sudo service bluetooth restart

Then reconnect your headphones and it should work. It did for me!

3

I had to do both setting the main.conf to multiple profiles then remove the headphones and add them back and then they defaulted to High Fidelity.

3

May be someone will find this helpful: Don't try to switch to A2DP while some app is playing sound. You need to disable all sound outputs first, then disconnect, connect, switch to A2DP, then select A2DP device as target.

1

So, I recently bought the JBL 700BT Headphones. I was getting muffled voice upon connecting with Ubuntu 20.04. Here's what I did to fix it:

1> sudo apt install pulseaudio pulseaudio-utils pavucontrol pulseaudio-module-bluetooth

It turns out I didn't have all of them.

2>Then edit the /etc/bluetooth/main.conf

Change MultiProfile to multiple then,

MultiProfile = multiple

3> sudo systemctl restart bluetooth

This fixed it for me. Hoping someone finds this helpful.

0

I am running Ubuntu 16.04 and experienced the same problem with my JBL E65BTNC headphones where changing to A2DP didn't stick. I used most of @56ka's answer but I didn't need the part where you need to set:

MultiProfile = multiple

In fact, when I did this, neither A2DP nor HSP/HFP was available. The device was listed as an output device but the sound did not come through (i.e. when I tried to test the device in Sound Settings, nothing happened). When I commented the MultiProfile option out and restarted the bluetooth service, everything worked.

0

It should works without messing with the system configuration.

Your device is likely taken as a headset unit for some reasons.

To switch to High Fidelity, install pavucontrol if not done already.

sudo apt install pavucontrol

Connect your bluetooth device.

Go to pavucontrol, «configuration» tab, where you can select a profile for your output device, choose AD2P

  • High Fidelity Playback (AD2P Sink)
  • Headset Head Unit (HSP/HFP)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.