Pipewire: Low quality audio when changing bluetooth headset profile to Headset Head Unit in both codecs

I’ve recently bought a bluetooth headset. When I paired it with my system it’ microphone wasn’t working with pulseaudio. So I decided to move to pipewire and installed it manually(there’s no manjaro-pipewire package available for arm devices). The voice quality is really good when the device profile is set to High Fidelity Playback(A2DP Sink) on both codecs, but the microphone won’t work with it. When I switch device profile to Headset Head Unit(HSP/HFP sink) the microphone went working but the voice quality was poor. When I referred to AUR page of pipewire they suggested to change the codec in /etc/pipewire/media-session.d/bluez-monitor.conf to sbc or any other to fix that. But no such file exists in my case. Is there any fix for my problem??

The default config files are here: /usr/share/pipewire

Copy them from there to /etc/pipewire and then make your changes.
(or for per-user-settings you can use ~/.config/pipewire/ as well)

I copied the files as you said and edited it to enable mSBC support for headset units. That fix my problem to an extend. The high fidelity playback sound quality is slightly better than the hsp sink. mSBC quality is good but still I can feel it noisy. Is pipewire still in development or is this an unspotted bug??

We’ll see if there are further improvements over time.

I’m afraid that’s just the current state of bluetooth headset’s in Linux. Better than pulseaudio though (actually I’m not really sure if there were improvements over the last months, I pretty much only use A2DP since I don’t need the mic)

This topic was automatically closed 15 days after the last reply. New replies are no longer allowed.