If you're using a high-end bluetooth headset on your Macbook Pro it's likely your mac is using an audio codec which favors battery efficiency over high quality. This results in a drastic degradation of sound, the SBC codec is the likely culprit, read more about it here.
- Play a song on your headphones
- Option (⌥) click the Bluetooth button at the top of your screen
- If you're using AAC or aptX, you can stop here—those are the highest quality codecs.
UPDATE: It looks like Apple has silently dropped support for aptX, leaving only AAC
You'll need to download Apple's Bluetooth Explorer in order to change codecs.
-
Head over to Apple's Developer Downloads
-
Search for
additional tools
and downloadAdditional Tools for XCode 11.dmg
-
Click on
Tools > Audio Options
and change your audio codec to the following settings:- Enable AAC
- Force use of aptX
-
Disconnect your Bluetooth headset, reconnect it, and while some music is playing, inspect your codec. It should now show either AAC or aptX.
You can increase the AAC bitrate in Audio Options
but be sure to keep an eye on the graphs. The retransmission percentage is roughly equivalent to packet loss, and if you increase the bitrate too high your audio will start cutting out:
The retransmission rate is a function of distance and interference, and you'll need to disconnect/reconnect on each attempt before you find the sweet spot.
I got a new bluetooth adapter which is supposed to support LE Audio and LC3. Is there any way to enable this? Currently it's stuck on Apple's crappy AAC which probably drains the battery worse than any of the others. Console states it was chosen out of six codecs but it didn't list them. System Information states:
Supported services: 0x382039 < HFP AVRCP A2DP HID Braille AACP GATT SerialPort >
for whatever that is worth
Edit: Console also mentions this, although this isn't a list of codecs available on the device
Codecs available. NBS (CVSD): 1, WBS (mSBC): 1, UWBS (AAC-ELD): 0, mSWB:0, Stereo: 0