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.
@Eugene-Y
I can't speak for all MacOS versions, but I do this on Monterey:
00:48:15.750396-0400 bluetoothd A2DP configured at 44.1 KHz. Codec: AAC-LC, VBR max: 256 kbps. 1 frames * (12+744) bytes = 756 per RTP (max=879) every 23.22 ms
I also checked on my older work Mac, which is still on Catalina, and the "Console" app on Catalina doesn't have a "Start" button -- so for older systems like this, you can just skip that step above, since the log entries just start loading automatically. The output on Catalina wasn't as clear-cut with a single line like on Monterey, so people may need to try other search terms with older versions, like "aac" or "sbc", depending on what you're looking for. When I searched with "aac", I found a few lines like these:
02:41:48.587446-0400 bluetoothaudiod New AAC Bitrate:256000
02:41:48.586376-0400 bluetoothaudiod AAC encoder initialized. VBR maxBitSize:5152 minBitSize:256
02:41:48.772929-0400 bluetoothaudiod Set current codec (null)->AAC
Interestingly, the top of this site references a "SoundGuys" article as evidence for doing all this, and yet SoundGuys also published this other article just a couple days before the one above, stating that AAC isn't all that great, even compared to SBC -- at least tested within the mobile device realm. On Android, it's recommended to disable AAC altogether, and use SBC (if you don't have aptX). On iOS, AAC is definitely better than on Android, but not necessarily better than SBC. This is all for mobile, though, and is focused on sound quality, not other aspects like power/battery efficiency. Not sure how this all corresponds to MacOS, but just some food for thought.
One quote from the article, in which "any instance" included several Android phones, plus an iPhone:
AAC doesn't reach frequencies high enough to match CD quality or standard Bluetooth's SBC in any instance. That's concerning for anyone who prizes audio quality over convenience.
@varenc
AAC is also patented, requiring licensing fees for manufacturers, although dropping aptX does decrease Apple's licensing burden from two to one. AAC is also patented by a larger consortium of companies, in which any perceived gains (more power than money) are diluted across multiple beneficiaries/competitors, whereas aptX's gains help a single beneficiary (Qualcomm), which Apple would see as a bigger threat.