How to improve your Mac's Bluetooth music quality
May 11, 2020
Now that Bluetooth headphone and speakers are ubiquitous and headphones jacks are dying out like flies, it's important that our devices' software gives the best wireless experience possible.
One of the most important factors to your wireless experience will be your choice of audio codec.
There are tonnes of audio codecs with different tradeoffs
There are a bunch of audio codecs out there (like SBC, AAC, AptX, LDAC, the list goes on) for streaming audio over Bluetooth.
They all come with different tradeoffs to:
- Audio quality
- Latency (the delay between the sounds being received by your laptop and played by the Bluetooth device)
- Battery life (especially on mobile devices)
- Device compatibility (both your laptop and Bluetooth device need to support the same codec)
macOS doesn't always use the best audio codec
While there is some debate, it seems to be generally agreed that AAC and AptX are preferred over SBC (but this certainly does vary by device).
Apparently AAC has better quality, while AptX has lower latency, but I don't know enough on the topic to comment on it.
Anywho, that's enough background. Let's get to the problem:
Mac OS sometimes defaults to using SBC, even if your Bluetooth device supports AAC or AptX. Consequently, your audio quality and latency will suffer.
Let's change that.
Check what Bluetooth codec your Mac is using
First, open up your Mac's Bluetooth
settings in System Preferences
.
Make sure that Show Bluetooth in menu bar
is enabled:
Next:
- Connect your Bluetooth headphones / speaker to your Mac
- Start playing music (or any kind of audio)
- Find the Bluetooth icon at the top of your Mac
- CLICK on the bluetooth icon while holding the
OPTION
andSHIFT
keys (all at the same time)
- Hover over your connected Bluetooth device (for me, that's my WH-1000XM3 headphones)
- Look for the
Active Codec
box, shown here on the left:
If you want to change your codec to AAC or AptX, then follow the steps below.
Changing your Mac's Bluetooth codec
Let's enable AAC or AptX on your Mac.
You can even enable both if you're feeling adventurous (I've found that Mac OS uses AptX if both AAC and AptX are enabled & supported by the device, but YMMV).
- Open up Terminal (by searching for it in Spotlight using
CMD + SPACE
)
- Run this command to enable AptX:
sudo defaults write bluetoothaudiod "Enable AptX codec" -bool true
Or, run this command to enable AAC:
sudo defaults write bluetoothaudiod "Enable AAC codec" -bool true
- If you enabled AAC, you can now change AAC's quality (known as bitrate) with one more command:
sudo defaults write bluetoothaudiod "AAC Bitrate" 256
You can set the bitrate as high as 320 (kbps), but I use 256 (kbps) because the connection should be more stable (and I can't tell the difference from 320 kbps anyway).
This is roughly what those commands should look like in your Terminal:
Finally, let's restart the bluetooth module:
- Once again,
OPTION
+SHIFT
+ CLICK on the Bluetooth icon at the top right of your Mac
- Move your mouse down to
Debug
- Then click
Reset the Bluetooth module
- Wait a moment for it to reset
- Then re-connect your headphones / speakers
Now if you check your Bluetooth codec again, you should find that it's set to AptX or AAC!
Enjoy! 🎧