Bluetooth Headset Microphone Audio Skips
Bluetooth Radio, Bluetooth Headset, Desktop Environment, Distribution, Version (Bluez, Kernel, and PipeWire):
# run the following and paste output here
lsusb; bluetoothctl devices; echo $XDG_SESSION_DESKTOP; grep PRETTY /etc/os-release; pipewire --version; bluetoothctl --version; uname -r
Bus 002 Device 002: ID 8087:8000 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 8087:8008 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 003: ID 045b:0210 Hitachi, Ltd
Bus 004 Device 002: ID 045b:0210 Hitachi, Ltd
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 003: ID 045b:0209 Hitachi, Ltd
Bus 003 Device 002: ID 8087:0025 Intel Corp. Wireless-AC 9260 Bluetooth Adapter
Bus 003 Device 006: ID 046d:c051 Logitech, Inc. G3 (MX518) Optical Mouse
Bus 003 Device 005: ID 0951:16be Kingston Technology HyperX Alloy Elite RGB
Bus 003 Device 004: ID 045b:0209 Hitachi, Ltd
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Device 0C:E0:E4:FB:99:35 PLT_BBTPRO
KDE
PRETTY_NAME="Manjaro Linux"
pipewire
Compiled with libpipewire 0.3.37
Linked with libpipewire 0.3.37
bluetoothctl: 5.61
5.14.7-2-MANJARO
Description of Problem:
When connecting with my Bluetooth headset (Plantronics BackBeat PRO) my microphone now appears to have its audio skip repeatedly. First encountered while attempting audio chat on Discord when I was told I "sounded like a robot". Used Helvum to directly map the capture from my BT headset to the playback and verified it happens outside of Discord.
How Reproducible:
Happens whenever I have my BT headset on HSP/HFP profile and have audio captured from the microphone.
Steps to Reproduce:
- Connect BT headset to Bluetooth on computer
- Set audio profile to HSP/HFP (done via KDE System Settings > Audio > Configure)
- Listen to audio from BT headset
Actual Results:
Audio from microphone skips repeatedly very quickly. Sounds "like a robot."
Expected Results:
Clear audio with no skips.
Additional Info (as attachments):
Started with a Manjaro update yesterday which moved my Pipewire version from from 0.3.35 to 0.3.37. Worked well prior to this. Also tried moving my kernel from 5.13.19 to 5.14.7 but this did not resolve the issue. Unfortunately, I don't know how to go back to pulseaudio so I have not tested to see if the issue occurs in pulseaudio currently. I'm also assuming this is a Pipewire issue, but a variety of other packages were updated including the KDE frameworks.
This is my first bug report, so please let me know if I've missed something or can help further.
Bluetooth debug log https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/Troubleshooting#bluetooth pipewire-bluez.log
pw-dump output: pw-dump -N > pw-dump.log
pw-dump.log
When monitoring with pw-top, there appears to be periods of extended wait times (sometimes the number in the "WAIT" column gets huge and looks like some kind of overflow or negative number as captured below). The "ERR" column also repeatedly goes up while talking through the microphone.
Monitoring pipewire.service through 'watch systemctl --user status pipewire.service' shows many "client missed 1 wakeups" messages getting output whenever talking through the microphone.