Will I finally be able to use a bluetooth headset's high quality audio output and its mic at the same time without significant changes in the terminal?
It's getting embarrassing that every other mobile and desktop OS has no problem doing this but not Ubuntu.
The "solution" other vendors take is to maintain the high quality bluetooth audio output to your headphones while using your laptop's microphone as input. They basically don't use your headset's mic in order to keep your headset in A2DP mode for high quality audio. You can also easily configure this in PulseAudio Volume Control.
You can't work around the fundamental limitations of Bluetooth protocols like A2DP without cheating and using another microphone somewhere else. You can't use the headset mic when receiving high quality A2DP audio, ever, no matter how hard you try. It is a limitation of the Bluetooth standard.
When you switch the device into headset mode the quality turns to potato because it uses bidirectional audio codecs from the stone age in HFP/HSP mode with mSBC or (god help us all) CVSD.
I think this is the result of how bluetooth itself works for bi-directional voice headsets, no? I do get bad quality on every OS when I have to do this, unless it has to do with the audio codec.
AFAIK windows gets around this by having audio devices for the A2DP profile (ie. audio output only) and the HFP profile (ie. audio output and input) and having both be active at the same time. The A2DP device is set as the "default device" which means if you play spotify or whatever the audio goes through that and you hear high quality audio. The HFP device is set as the "default communications device", which is what apps like Teams or Zoom is supposed to use, and has shitty audio quality.
> It’s because of the limited bandwidth in Bluetooth that it has to lower the audio quality
It's not a bandwidth limitation. According to google A2DP supports up to 728kbit/s, but SBC (the default codec) only goes up to around 300. Clearly there's enough bandwidth for mid quality input and output streams.
It is much more complicated than that. That 700kbit/s figure is theoretical performance under ideal conditions: one device, one host, no interference.
In the real world, you get a lot less bandwidth. In my office building I see 300-400kbit/s of real throughput. The radio also only has one transceiver, if you connect multiple devices, they have to take turns broadcasting which cuts your bandwidth roughly linearly proportional to the number of nodes.
Also remember that Bluetooth and WiFi share the same spectrum. A high power or very busy WiFi network nearby will also drop Bluetooth bandwidth. You also get a precipitous drop in bandwidth if there are other Bluetooth devices nearby, as they all have to share the same spectrum.
There's a lot of effort put into mitigating these problems, but either way the real world performance of Bluetooth is much, much lower than theoretical figures. Streaming useful audio over a link like this is not a trivial problem.
At work, I'm currently trying to cram ten separate audio streams into a Bluetooth link for reasons. We're switching to WiFi.
Only in one direction. The microphone is only used by the HFP (hands-free profile), which does not support higher quality codecs. You can't have HFP and audio sink active at the same time, so you are stuck with telephony grade codecs any time the mic is active.
Linux in general has been the most reliable of any OS I've used in the last 5 years or so. Well, except maybe Android.
Windows is the worst of the worst, but every Linux distro I've tried works great and actually supports every feature of Bluetooth. Unlike Windows, who only implements the barest of minimums, and about half of those features just don't work.
It's getting embarrassing that every other mobile and desktop OS has no problem doing this but not Ubuntu.