Ever wondered why your Bluetooth headset switches from a very high quality audio experience, to a tiny mono-sound experience when entering video calls? In this blog post we’ll explain exactly what and why that happens, and what’s being done on the Bluetooth side to improve our collective audio experience in the future.
You’ve probably experienced listening to music on your wireless headphones on your way into a video call, only for that music to sound thin and cheap as soon as the hair check pops up. Or listening to music on your iPhone when an incoming call disturbs your peace, only for your music to now sound weird, louder, and as if it was recorded inside a tin can.
What's happening behind the scenes is that your Bluetooth headphones are switching from a high-quality audio profile meant for music, to a lower quality, audio delay optimized profile meant for phone calls.
In this post we'll introduce you to Bluetooth audio profiles. We'll look at the two primary profiles, Advanced Audio Distribution Profile (A2DP) and Headset and Hands-Free Profiles (HSP/HFP) and the use cases where each profile excels. We'll also look out into the future of Bluetooth audio and where the experience for audio will improve. Finally, we’ll give you some tips on how to avoid this jarring switch in your next video call.
A2DP, HSP, and your ears - A stroll through Bluetooth history and the ocean of acronyms
The Bluetooth standard emerged in the late 1990s after years of work by Ericsson Mobile to develop wireless headsets for phones. These first hands-free devices became a popular way of allowing two-way communication of audio data with phones and later laptops. Today, Bluetooth has a wide range of use cases. It supports data transfer in applications such as wearables, IoT devices, gaming, and more.
The concept of Bluetooth profiles came about to differentiate between these use cases and their needs. For example, in a car, there was a need not only to transfer audio to and from the car, but also to control the phone itself. Voice calling, redial, hanging up and accepting calls needed to be built into the protocol itself. Similarly, when listening to music, there was a need to stop/start playing, and adjusting volume. In addition, since two-way audio isn’t needed, you could use all your bandwidth to broadcast higher quality audio!
Profiles like this are needed as implementing all possible controls and use cases in a single protocol would be extremely complex, and often not needed! The result would have been more expensive devices due to development costs, more space and power needed on chip, which would lead to bigger, more expensive devices that would not last as long. With smaller target protocols, or profiles, the chances of bugs and implementation errors drastically reduces, and so does the overall cost.
Now that we've gone through what Bluetooth profiles are and why they were created, let's dive into specifics about the two widely-used profiles we mentioned earlier: A2DP and HSP/HFP.
A2DP - Advanced Audio Distribution Profile
A2DP was developed to allow high-quality audio streaming in one direction. This can be from your phone to your car or stereo, or from your computer to your headset. In addition, it can be used to transfer recorded audio in high quality to a computer.
This profile is optimized for audio quality through high bitrate (320-990 kbps) audio, and less so for audio buffering delay. Audio playback while in A2DP mode will have an audio buffering delay of around 100-150ms. This is less than ideal for calls, as it will add a significant delay on top of what the network already applies.
The key here is that A2DP only allows audio transfer to occur in one direction over the Bluetooth connection. This is problematic if you want to both record your voice and listen to others.
HSP/HFP - Headset and hands-free profiles
HSP (Headset Profile) and HFP (Hands-Free Profile) are really two different profiles meant for two different use cases, but are today often grouped into solving the same problem.
HFP came about as a way to allow car hands-free systems to connect to your phone and control it. That includes not only the bidirectional transfer of audio and video, but also features such as voice dialing, call waiting, and last number redial.
HSP is the most common profile, and is meant for headsets that connect to devices wirelessly. It has limited controls compared to HFP, and was originally meant as an easier alternative to implement than HFP.
Today, HSP and HFP are present in most Bluetooth headsets interchangeably. They provide low-bitrate, low-audio-buffering-delay (<40ms of audio samples in a single packet) codecs that, when compared to the higher-fidelity and modern codecs in A2DP, degrade audio quality significantly. However, their bidirectional nature is perfect for phone calls and video calls alike.
The quality degradation is also true for the microphone audio quality, which means that video calls, while being capable of much higher quality audio, are given a phone-quality-like audio input. No amount of fancy codecs on the WebRTC side can work past that fact. Using a different microphone than the one in your bluetooth headset might provide a lot better audio quality for your listeners too.
Proprietary profiles – Why some apps have better quality than others
As with any open-source standard, Bluetooth has its proprietary protocols and codecs implemented by a few companies which are not yet standardized. The demand for higher-quality audio profiles and additional features has always been there, and sometimes the standards body can lag behind customer demand.
Proprietary profiles are often adjustments to already established protocols. For example, they may use new, higher-quality audio codecs or provide additional features. They work by having either the operating system or the pairing application implement custom Bluetooth profiles to augment the feature set of connected devices (such as a conference call microphone or an expensive headset).
One such real-world example is AirPods, which have a noticeably higher quality when used for video calls in FaceTime. Since Apple controls both the headphones and application, they are able to deliver higher fidelity audio for their application only.
Another example is from the early implementations of A2DP. The original codec specified for this profile was SBC, which didn’t provide high-quality audio. To meet customer demand for higher-quality audio, manufacturers pushed alternative proprietary codecs such as Qualcomm’s aptX and Sony’s LDAC. You can read more about the Bluetooth audio codecs and their impact on bitrate and delay over at SoundGuys.
These proprietary profiles can be licensed by headphone manufactures and operating systems alike, to augment the aging standards with higher quality audio, or more features. However, to use them you’re dependent on both the input and output devices supporting the proprietary profile. They also increase the price of each device, as the licensing and implementation costs must be addressed in the price to the consumer.
The future of Bluetooth audio
The profiles we’ve talked about so far are part of the Bluetooth Audio Classic specification, and represent the old world of audio quality. With Bluetooth 5.2, we are starting to see the first versions of Bluetooth LE Audio. LE Audio is an audio specification on top of Bluetooth Low Energy. LE Audio can achieve higher bitrates (2mbps bidirectional), lower audio buffering delay, and improved audio quality through the use of the new LC3 codec. LC3 codec is a variant of Opus, LC3 incorporates the SILK mode in Opus, which means WebRTC audio media would be played back on bluetooth without transcoding it. LC3 was first announced at CES 2020, but the specification was only completed in July 2022.
While we’re excited for Bluetooth LE Audio, it may not be everything we hope for just yet. Today, very few devices actually support LE Audio, and support hinges on both devices using updated radios that can understand and transmit it. That requires updating not only your headphones, but your phone, computer, watch, and even car. No OS updates can enable these new features.
That means we’ll be stuck with Bluetooth Classic Audio for some time still, especially in devices which are not updated as often as phones are, such as cars or home stereos.
What can you do today?
If you, like me, find these switches to be quite jarring, there are ways to avoid them! As a user, you can simply change the microphone used in the audio settings of your video call application.
Switching devices like this work great on desktop, but you may encounter issues on mobile, as explicitly choosing your microphone on mobile is far less common.
There are also some caveats to be aware of. The high-quality profile A2DP does increase audio delay, which could cause issues with lip sync in video calls. In addition, the benefit you’re getting in terms of higher quality is usually not significant, as speech requires much less bitrate to be considered good enough than music does. As a consequence, voice calls often use less bitrate to begin with, so there is often no use having a higher quality output if your input is lower quality anyway.
If you’d like to learn more about Bluetooth audio and its developments, I recommend reading this article from Nordic Semiconductor. There are also creators such as @yesinmybackyard that post interesting content on Bluetooth audio in an easy-to-digest way.
You can also join me on peerConnection, our WebRTC community, to keep the conversation going.