Audio Codecs play the most important role in the wireless audio experience as well as latency. If you are using expensive wireless earphones like Bose QC 35, it is extremely important that they run at the best Audio Codec possible. Surprisingly the companies don’t play cool when it comes to displaying and customizing Bluetooth codecs.
For example, Windows doesn’t let you choose the audio codec and neither tells you whether it’s running on aptX or SBC. For iPhone, I had to connect it to a MacBook and then monitor the console to figure out that the Apple Earpods run on AAC (Advanced Audio Codec). No way to customize or view the codecs available. So with the remaining macOS, Android, and Ubuntu, there is a workaround to change Bluetooth audio codec.
Best Bluetooth Audio Codec: SBC, AAC or aptX
Firstly, let’s understand what is a codec and which is the best one to use. A codec is a short form of Coding and Decoding. In case of wireless earphones, the audio signal is coded and then send to the earphones where it is decoded. The sub-par or default Bluetooth codec is SBC (SubBand Codec). It has a healthy lossy sound compression, less-power consumption, and noticeable latency. Latest Codecs like aptX and AAC are almost lossless and has comparatively less latency.
For a device to run on AAC or aptX, both the audio device and OS must support the codec. All the Operating system do support aptX and AAC. So, if your Bluetooth headphones/earphones support aptX or AAC mostly the OS will run it on that codec. But at times the OS doesn’t recognize the audio device and runs it at SBC. In fact, the OS frequently run it on SBC on purpose to save battery and control CPU thermals. However, there are ways to force the OS to use better Bluetooth codecs and get the best audio quality all the time.
Let’s see how to force the device to use the best codec.
The most straight forward method is in Android. Android devices are aptX and AAC compatible and will run at highest codec if your headphones are compatible. To force or change the Bluetooth codec first, you have to connect the headphones to your Android device. Next, start playing a song on your phone because this is the time the codec gets active. After that, head over to the Settings menu and move to Developer Options. If you don’t see Developer option in your Android settings, here is a guide to enable it.
In the Developer options menu, navigate to the Networking section and tap on “Bluetooth audio codec”. Here, you will have different audio codecs to choose from. The thing with Bluetooth audio codecs is that both the devices need to support the codec else no audio will be played. By default, the best audio codec will be selected. In case it is still on SBC, you can switch to AAC or aptX, whatever your headphones support.
Android also provides other customizations for audio like Bluetooth audio sample rate or Bluetooth Audio Bits Per Sample. You can modify these settings but make sure that your headphones support the particular sample rate and bit streaming.
Alternatively, when your Bluetooth headset connected, go to Bluetooth settings and click on the headset’s settings icon. If any other codec aside from SBC is available, Android will automatically show an available toggle for that particular codec.
The approach in macOS is not as straight-forward as Android. Qualcomm aptX HD is supported on macOS (sorry iPhone users) but Apple doesn’t allow you to force or change it. macOS tends to switch to SBC to save battery and manage thermals. But, there is a way to force macOS to use aptX or AAC all the time. For that first, you need to download the Additional Tools for XCode from the Apple Developer Website. If you haven’t registered on the site, you can do it for free *thankfully*.
If you are on mac Seirra, Additional Tools for Xcode 8 will work.
Once you have the XCode tools downloaded, double-click on it and open the folder. Navigate to the “Hardware” folder and you will find Bluetooth Explorer.app. Drag and drop this to the Applications folder.
Once you place the Bluetooth Explorer app in the Applications folder, you can now access additional audio options. Double Click on Bluetooth Explorer and then click on Tools on the Menu bar at the top. Next, click on Audio Options from the extended menu.
From the Audio Options dialogue box, check “Force use of aptX” and “Enable AAC”. Make sure you uncheck “Disable aptX” and “Disable AAC” as these options disable both the Bluetooth codecs.
After you have enabled aptX or AAC, connect your aptX compatible Bluetooth earphones to the mac. Play an audio file because that only activates the Bluetooth Codec. To verify aptX is been used, hold down the Option key and click on the Bluetooth icon on the menu bar at the top-left.
Under the Bluetooth menu, navigate to your wireless audio device connected and you will have a tray slide out. The tray contains the active Bluetooth Codec which should be “aptX”.
If audio is not playing on the device, active codec shows ar
In case you still see AAC or SBC for your device, restart Bluetooth on the mac or rather restart the mac itself.
Apart from Android, all other devices don’t provide a straightforward method to change or force a Bluetooth codec. Wireless Bluetooth devices do perform better on aptX or AAC instead of SBC. You can feel the huge difference in audio quality when you use both the codecs.
For any issues or queries, let me know in the comments below and I will get back to you.