Bluetooth: Music vs. Audio mode [duplicate]

Whenever I start using my microphone in OBS, the audio quality of my bluetooth earbuds drops dramatically. OBS forums confirm:

If you experience the quality loss through a bluetooth headset, this is due to OBS initializing your mic, which makes a bluetooth headset switch to voice mode (instead of music mode), and voice mode has much lower quality. This is a bluetooth specialty, not a bug or flaw in OBS

So, what is voice/audio mode? Windows Camera seemingly has no problem recording without it, and the audio quality is dramatically worse with. Why would I ever want to use it?


Solution 1:

The problem is that Bluetooth is quite limited in its data transfer rate (Theoretically <= 3Mbps / Practically < 1Mbps). This also means that protocols can either be optimized for quality or for latency.

Thats why in High quality / Music mode, Bluetooth generally has a bad latency. You can notice the latency when watching a movie: people will move their lips before you jear the sound, if you dont correct this by inserting a negative audio delay in your player.

When using duplex communication, most OEMs will think about voice calls, where a low latency is cruical (especially when connected to a phone): imagine both wearing BT headphones, it would mean the other "waiting" for 2-3 seconds before replying to you, it would be unnerving.

So, duplex codecs will focus on the frequencies of the human voice and loose details on all other frequencies. That's why Music sounds terrible in that mode.

Moreover:

Synchronous Connection Oriented (SCO) and its enhanced version Enhanced Synchronous Connection Oriented (eSCO) are the modes used for Bluetooth voice transmission. The mode allows you to transmit sound and voice strictly in order, with a symmetrical speed of sending and receiving, without waiting for confirmation of transmission and re-sending packets. This reduces the overall delay in the transmission of audio over the radio channel, but imposes serious restrictions on the amount of data transmitted per unit of time and adversely affects the quality of the audio.

See this in-depht article for more information.

For your issue with OBS, after starting the program, what you can try is go to Control Panel -> Hardware and Sound -> Audio Devices and in the Recording tab, deactivate manually the microphone. It will probably depend on the driver of your headphones if this will work.

But for any professional working on streaming, video or audio I hoghly recommend wired headphones which have next to no latency and superior sound quality.