Improve Compressed Bluetooth Audio on Mac

If you’re experiencing compressed audio when connecting to a bluetooth headset on your Mac, you can change a setting to improve the quality:

  1. Option (alt) click the bluetooth icon in the menu bar and select Open Bluetooth Explorer.The hidden bluetooth menu - Open Bluetooth Explorer
  2. When Bluetooth Explorer opens, select Utilities then Special Options from the menu bar.Utilities then Special Options
  3. Finally increase the minimum bitpool to around 40 and the maximum bitpool to the maximum, 64. Tick the enable role switching option if it isn’t already enabled.Increasing the bluetooth audio quality by increasing the minimum and maximum bitpool bandwidths
  4. Finally, quit Bluetooth Explorer to save the settings. You might need to turn bluetooth off and on for the changes to take effect.

This increases the bitrate of your A2DP bluetooth audio which lowers the compression of the sounds.

Alternatively you can do this quickly by pasting this command into terminal:

defaults write com.apple.BluetoothAudioAgent "Apple Bitpool Min (editable)" 45

Or run this app: Enhance Bluetooth Audio Quality.app

If you’re looking to get some bluetooth earphones, I highly recommend the Sony Ericsson MW-600 Bluetooth Stereo Headphones.

32 thoughts on “Improve Compressed Bluetooth Audio on Mac

  1. How do you stop your MW600 from going automatically into “Use as device (mono)” mode?

    I’m finding connection probs with the mw600 and the imac,

    how about you?

  2. Wow! This totally improved the quality! You are awesome dude

  3. i am on a Macbook Air (2011 model) and running a fully updated Mountain Lion OS. when i option click on the BT icon there is no option for Blue Tooth explorer. instead i used the ‘enhance blue tooth audio quality’ app. can’t say i see any difference. how do i know if it has been enhanced or not?

  4. i have to admit that the time that my jam box spends popping is now much reduced. thanks for the tip.

  5. So I put the command into console, but the jambox will not connect after min bitpool value 53. thoughts?

  6. Thank you for the post! So glad to see the back of those very annoying pops-and-clicks!

  7. If you don’t see the “Bluetooth Explorer”, just open a Terminal and type:

    defaults read com.apple.BluetoothAudioAgent

    this shows you all setting. If you already have a Bluetooth Audio Device, you can also see the Bitpool rate that was negotiated between your mac and your receiver device. btw: setting the min value too high (in my case (logitech bluetooth receiver) > 53) doesn’t work.

    See http://soundexpert.org/news/-/blogs/bluetooth-audio-quality-a2dp for a more detailed explanation of bitpool values and the resulting bitrate.

    Cheers

  8. This is a great post! I just downloaded the app and wolla! Thanks πŸ™‚

  9. BTW if you’ve installed XCode then BluetoothExplorer lives in /Developer/Applications/Utilities/Bluetooth/

    I also like to renice -20 my BluetoothAudioAgent and blued processes…

  10. That app you attached worked magic. Thank you for the post!

  11. Hey, just wanted to say thanks for posting this. It worked for me. I work from home and listen to music basically all day and the popping on my new bluetooth speaker was driving me crazy. Seriously, thanks.

  12. That app seems to have done the trick for me too .. many thanks for this!!!!!!

  13. hi, ben! i found this post through a google search.

    i have a first generation macbook running os 10.6.8 with bluetooth v.2.4.5f3. i do not have a menu item for “open bluetooth explorer”. i tried running the terminal command “defaults read com.apple.BluetoothAudioAgent” and got the response “Domain com.apple.BluetoothAudioAgent does not exist”. does this mean that your fix won’t work on my machine? if it will work, please suggest how I might proceed.

    thank you for your support of the mac community.

  14. THANK YOU! Have been using a BT speaker with my Macbook, the popping/crackling became seriously irritating, was about to give up and buy another speaker until some Googling lead me to you.

    I couldn’t find the BT explorer options so went with the Terminal command instead, didn’t have any luck with the Bitpool min value at 45 (wouldn’t even play audio) so went with the highest that did work – 35. No more popping.

    Thank you, thank you, thank you!

  15. Thank you Ben. Just bought a JBL 46BT and was frustrated. I used the terminal command you have given and lo and behold, sounds great!

  16. I figured out how to fix this on the new Mavericks. First, you must download the Xcode App. Then, you must go to Apple’s Developer site and register. Then you must go to https://developer.apple.com/downloads/index.action# and download Hardware IO Tools for Xcode. Once you download and open that, you will see the Bluetooth Explorer that Apple had purposely removed in order to dumb down their products to the lowest common denominator consumers. But then, you must go to “Tools” in the upper menu bar and then go down to Audio Options. There, you will find the Bitpool adjuster. Set the minimum to 40 as the instructions above said. Close it. You may have to disable and then enable your bluetooth to reset. Hope this helps.

  17. Hello

    I had some problems with bluetooth speaker. It just started cracking out of nowhere before it worked fine. It happened in a friends house. I think there could be some interference by phone etc but I did some research right away and found a post which said to put this into terminal so I did.

    defaults write com.apple.BluetoothAudioAgent “Apple Bitpool Max (editable)” 80
    defaults write com.apple.BluetoothAudioAgent “Apple Bitpool Min (editable)” 80
    defaults write com.apple.BluetoothAudioAgent “Apple Initial Bitpool (editable)” 80
    defaults write com.apple.BluetoothAudioAgent “Apple Initial Bitpool Min (editable)” 80
    defaults write com.apple.BluetoothAudioAgent “Negotiated Bitpool” 80
    defaults write com.apple.BluetoothAudioAgent “Negotiated Bitpool Max” 80
    defaults write com.apple.BluetoothAudioAgent “Negotiated Bitpool Min” 80

    I couldn’t find com.apple.BluetoothAudioAgent in a terminal before and still I can’t find it on other macs. I want to know what was default numbers before I put all of these into terminal

    I want to go default because now once in a while there is a delay in audio. Noticable when watching youtube .

    Also I downloaded hardware tools for xcode 6.1 and i just dragged bluetooth explorer to the application folder but it seems like it’s not showing up in bluetooth bar like in yours what am I doing wrong here ?

    • : defaults read com.apple.BluetoothAudioAgent
      {
      “Apple Bitpool Max (editable)” = 64;
      “Apple Bitpool Min (editable)” = 2;
      “Apple Initial Bitpool (editable)” = 35;
      “Negotiated Bitpool” = 35;
      “Negotiated Bitpool Max” = 53;
      “Negotiated Bitpool Min” = 2;
      “Stream – Flush Ring on Packet Drop (editable)” = 0;
      “Stream – Max Outstanding Packets (editable)” = 15;
      }

    • These should be the defaults (although obviously you’re going to want a different Min value)

      : defaults read com.apple.BluetoothAudioAgent
      {
      “Apple Bitpool Max (editable)” = 64;
      “Apple Bitpool Min (editable)” = 2;
      “Apple Initial Bitpool (editable)” = 35;
      “Negotiated Bitpool” = 35;
      “Negotiated Bitpool Max” = 53;
      “Negotiated Bitpool Min” = 2;
      “Stream – Flush Ring on Packet Drop (editable)” = 0;
      “Stream – Max Outstanding Packets (editable)” = 15;
      }

  18. I know this was written well before Yosemite came to the Public (or even developers), but I figured I’d give this a try since it’s worked in the past for me in Mountain Lion and also in Mavericks. However, this did not stop the constant popping (tried doing it manually and then ran the app when it didn’t work). Any ideas?

  19. the terminal solution worked for me on my MacBook Pro (13-inch, Mid 2012) in combination with a philips SHB9100. Thanks a lot!

  20. I have the ‘Enhance Bluetooth Audio Quality’ app and it works for a time then reverts to the original popping noises, and the app has to be relaunched, bluetooth switched off and on etc.

    Same thing happens if I alter the bit pool values on terminal. Seems to revert to original values after a time, or some event.

    Anyone got any ideas how to make it stay put? I’m on OSX 10.8.5, by the way

    Much love..

Comments are closed.