I have the same issue.
I have the 2011 MacBook Air 11", which came with OS X Lion. Latest updates installed.
I have Sennheiser MM 550-x headphones, Creative D100 speakers and a QED uPlay bluetooth receiver. All of these devices support Apt-X.
When I connect any of these to my MacBook Air, alt-clicking on the Bluetooth icon and going to the connected device, it always shows "Active Codec: SBC". So it's not using the Apt-X codec.
@SJT81: could you please share details of your setup which works?
I did some digging of my own.
I enabled bluetooth logging as follows (in Terminal):
sudo touch /var/log/bluetoothAudio.log
sudo chmod 777 /var/log/bluetoothAudio.log
tail -f /var/log/bluetoothAudio.log
Whenever I connect any of these devices, I see the following in the log:
[BluetoothAudioAgent:336] BluetoothAudioAgent.m:373 [prepareA2DPAudioServices] Disabling AptX codec
So my MacBook Air is disabling the Apt-X codec. The question is why.
Another thing. Alt-click on the bluetooth icon. Select "Open Bluetooth Explorer". Go to the Utilities menu. Select "Special Options". There is a checkbox "Disable AptX Codec". This is NOT ticked on my macbook. But the Bluetooth driver seems to be disabling Apt-X anyway.
The product info page on the Sennheiser site for my MM 550-x headphones (here click Description) says:
"The following 3rd party devices/configurations have built-in Apt-X support (updated 02/23/12):
Apple Mac OS X Snow Leopard and Lion Operating Systems
Apple Mac Mini (latest generation with latest OS update)
Apple Macbook Air (latest generation with latest OS update)
Apple Macbook (latest generation with latest OS update)
Sennheiser say clearly that my Macbook Air has built-in Apt-X support. It's the latest generation with the latest OS updates as of writing. I emailed Sennheiser asking them which "latest OS update" in particular is required. Got an automated reply saying they would respond soon generally within 24 hours. No reply since, and that was 2 weeks ago.
I'll be annoyed if it was false or misleading advertising. Not sure who I should contact next. I'm out of my "free phone support" period with Apple. Possibly CSR, the company who develops the Apt-X codec.
Any suggestions from anyone else would be appreciated. Particularly if anyone has been able to get Apt-X to work on a MacBook Air.
In case anyone else has this issue, I got in contact with CSR (the company behind aptX), and they were really helpful and got some info from Apple.
The problem was aptX gets disabled in Mac OS under a few circumstances to conserve bluetooth bandwidth:
- if you have a macbook and you have already connected one or more bluetooth devices, or
- if you have a desktop machine and you have already connected two or more bluetooth devices
I have the Apple bluetooth keyboard and trackpad, so that was my issue. A workaround for me is to disconnect my keyboard and trackpad, then connect my aptX device, then reconnect the other devices. Then the aptX device continues to use the aptX codec.
I wouldn't have thought that keyboards and trackpads were high bandwidth devices, so this logic might have been intended for other situations. If I connect things in the correct order, aptX seems to work perfectly with the keyboard and trackpad also connected. I'm hoping that Apple will remove this limitation in an update.
In the meantime I'm playing with Automator to figure out a way to script this.
Also- I can't seem to edit my earlier reply, so just to add that my Creative D100 speakers don't support aptX after all, in case anyone gets as confused as I was. I've confirmed that this workaround works (aptX gets enabled) with Sennheiser MM550-x headphones and a QED uPlay receiver.
I know what you mean. I notice it for sure when I connect to my QED uPlay receiver which is hooked up to my surround sound system. That pretty much makes it easy to tell the difference between CD quality and not CD quality. With the SBC codec it just doesn't sound as clear.
But on my headphones, I have to say it's hard to tell. And these are good headphones. I tried with and without aptX enabled on my MM 550-x headphones, and it was difficult to tell in terms of sound quality. But I did notice a difference in latency.
When watching a movie, with aptX there is lip sync, with SBC the audio lags behind what you see on the screen. I run my music from Spotify through Audio Hijack Pro on the mac which has a graphic equalizer and volume meters. With SBC the volume meters are totally out of sync with the drums/beats that come out of the speakers, but with aptX they are in sync.
So I guess I notice the difference in audio quality from aptX when I hook it up to a big surround sound system, but not as much on headphones. But with aptX the latency is noticibly better on both.
By the way I might as well post some more of my findings in this quest, in case anyone else is wondering, this time just regarding the SBC codec in Mac OS.
I did some more digging and I found that in the situation where Apple disable aptX, they also reduce the sound quality of SBC!
If I connect my Creative D100 speakers before I connect my keyboard and trackpad: Mac OS sets the initial SBC bitpool size to 30, and gradually increases it to 53 over the space of 3 minutes. The logs show that it configures the max bitpool size to 53 (I think that's the max quality that my speakers support).
If I connect my Creative D100 speakers after I connect my keyboard and trackpad: Mac OS sets the initial SBC bitpool size to 30, and increases it to 35 over the space of about 5 seconds. The logs show that it configures the max bitpool size to 35. So it caps the audio quality if a keyboard or trackpad is already connected.
Of course if I connect my keyboard and trackpad after connecting the speakers, with bitpool already at 53 everything continues to work fine. So this is another case of the Apple bluetooth stack potentially reducing the audio quality needlessly.
Good news for SBC equipment though - this logic can be overridden for the SBC codec. In my case I always want it at 53.
There's a UI for tweaking these settings in Bluetooth Explorer (I mentioned it above but actually you need to install Xcode to get it), you can set min, max and initial bitpool size there, plus enable or disable dynamic sizing.
Alternatively running the following command in Terminal does the same thing:
defaults write com.apple.BluetoothAudioAgent "Apple Bitpool Min (editable)" 53
Once I did this, when I connect my speakers it always sets the bitpool at 53 (highest quality) regardless of whether I have my keyboard and trackpad connected already, plus there's no period of it having to slowly ramp up the quality.
I wish there was a similar option to prevent it disabling aptX.
Thank you Npgall, your solution worked for me with my 2011 MacMini and my Nokia Essence headsets, finally !
As for the sound quality on those headesets I do notice a difference between SBC and apt-x, listening to 256kbits AAC well recorded electro tunes, especially on the treble. Though I would agree the difference is not as big as between SCO and SBC, and I agree the real difference that this apt-x brought me is on the latency which allows me to have a very good audio bothways on VoIP phone calls (Bluetooth AND VoIP had never proven compatible with good audio especially over WIFI connections; now with my apt-x headset, VoIP calling is as good as over wired headset, finally).
In Mountain Lion you can enable aptX although there are more bluetooth devices connected. You have to download the last xcode44hwiotools.dmg from developer website. Select "Bluetooth Explorer" and go to the utilities menu and select "Special Options". There is a new checkbox you have to tick "Enable AptX Codec". Enabling this checkbox it is not necesary anymore to disconnect before other bluetooth devices (in my case keyboard and trackpad) in order to use apt-X.
This works, finally!
For those that are curious on how to upgrade the bluetooth explorer visit this link:
Choose "Hardware IO tools for Xcode - Late July 2012" as this package will include bluetooth explorer in it.
When you get it, make sure to replace your existing copy of bluetooth explorer in your utilities folder. Open it up and as jpferrero says go to special options on the tool bar and viola! Enable aptX is now a selection.
After choosing it, I fired up my bluetooth headphones and option clicked on the bluetooth and went to my headphones where I beautifully saw that it was using aptX right out of the gate. Awesome!
Now if we can just make it so bluetooth media buttons on headphones don't automatically open / play and pause music on iTunes then we'll be in business!
Thanks to you both jpferrero and marceriksen.
I followed those instructions to install Bluetooth Explorer again on Mountain Lion. There are now two check boxes - Enable AptX Codec and Disable AptX Codec. Both can be ticked or both unticked at the same time, which is strange. On Lion there was only Disable AptX Codec. Anyway with Enable AptX Codec ticked, it connects using AptX even with my bluetooth keyboard and trackpad already connected.
I figured out the underlying settings which Bluetooth Explorer modifies, so anyone else with this issue can just run two commands in Terminal to fix it without installing Bluetooth Explorer.
First, to check what settings are in effect:
defaults read com.apple.BluetoothAudioAgent
To (1) always enable AptX and (2) always set the SCB codec to highest quality, you can just run the following two commands in Terminal.
defaults write com.apple.BluetoothAudioAgent "Enable AptX codec" 1
defaults write com.apple.BluetoothAudioAgent "Apple Bitpool Min (editable)" 53
So indeed it looks like Apple did fix this issue in Mountain Lion.
I'm using Sennheiser PX360-BT headphones and I'm experiencing the issues described in this thread.
I'm running ML on 2011 iMac and most of the time the codec used by the Mac to stream audio to the headphones is SCO. I saw just once AptX in the BT menu when presssing Alt key.
I tried the tweak described above (from npgall) but my iMac seems stuck with SCO codec (never saw SCB as most of you in this thread).
Here is my config :
iMac-Pierre-Yves:~ py$ defaults read com.apple.BluetoothAudioAgent
"Apple Bitpool Max (editable)" = 64;
"Apple Bitpool Min (editable)" = 53;
"Apple Initial Bitpool (editable)" = 30;
"Enable AptX codec" = 1;
"Stream - Flush Ring on Packet Drop (editable)" = 0;
"Stream - Max Outstanding Packets (editable)" = 30;
"Stream Resume Delay" = "0.75";
Any idea ?