Skip to content

Instantly share code, notes, and snippets.

@schauveau
Last active July 6, 2022 20:06
Show Gist options
  • Save schauveau/95cb4bdea8953a000c74eb84aaba055a to your computer and use it in GitHub Desktop.
Save schauveau/95cb4bdea8953a000c74eb84aaba055a to your computer and use it in GitHub Desktop.
Making the microphone not suck on my DOQAUS CARE 1 headset with pipewire/wireplumber

Introduction

July 1st 2022. I recently replaced pulseaudio by pipewire/wireplumber on my Debian laptop (unstable).

Everything seems to be working at as with pulseaudio including my bluetooth headset (DOQUAUS CARE 1).

Like most bluetooth headsets, that one supports 2 kinds of profiles:

  • High Fidelity Playback (A2DP Sink) with two codecs SBC and SBC-XQ.
  • Headset Head Unit (HSP/HFP) with codec a single codec CVSD.

As the name indicates the High Fidelity Playback produces good output-only audio while Headset Head Units provides input and output with a lower quality.

Unfortunately, the quality of the microphone input is really atrocious.

I understand that CVSD is supposed to produce a low quality 8000Hz stream but here the sound is full of cracks and blanks. Simply speaking it is unusable!

The purpose of that gist is to keep track of my progress while I investigate and hopefully improve the microphone quality.

Hardware and Software

My laptop is a Dell Latitude 5490

  • Memory 8GB
  • Intel(R) Core(TM) i5-8350U CPU @ 1.70GHz
  • Intel Corp. Bluetooth wireless interface (8087:0a2b)

The OS is Debian Sid (unstable).

The relevant packages are

  • systemd 251.2-6
  • pipewire 0.3.53-1
  • pipewire-pulse 0.3.53-1
  • pipewire-tests
    • for /usr/libexec/installed-tests/pipewire-0.3/examples/audio-src
  • wireplumber 0.4.10-2 (modular session / policy manager for PipeWire)
  • pavucontrol 5.0-2 (PulseAudio Volume Control)
  • bluez 5.64-2 (Bluetooth tools and daemons)

in progress ...

External References

[1] Pipewire Performance Tuning https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/Performance-tuning [2]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment