My favorite speaker so far

BOSE SoundLink® Wireless Mobile speaker

I’ve always wanted an easy alternative to listen to music and internet radio. I really dig internet radio. But I also love internet music services, such as Grooveshark and Spotify. Wanting portability, good sound quality and connectivity, I set my eyes on Logitech and Grace Digital. I was almost certain that the Logitech Squeezebox Boom was what I needed. It looks nice, simple and even kinda retro, but the pricetag was way above what I was willing to afford and the device is currently discontinued, so the only options were to get it aftermarket. The second most logical option was also from Logitech, the Squeezbox Radio. Way cheaper, portable and able to log into Spotify network. Charming. But never made up my mind after months (or even years), so I never bought it.

A couple of months ago, while listening to Spotify on my computer, this ad showed up talking about the “new” Bose Soundlink wireless speaker. I was thirlled. Literally. I’m a fan of Bose devices and the technology behind. I remember seeing the Wave in BestBuy back in 2002 and was amazed by the quality and depth of sound that box could make, made me feel ashamed of my Panasonic stereo. The thing was over $400 and didn’t even have a CD Player, just FM/AM Radio and a 3.5mm line-in. For $100 more you could get the upgrade, which was basically the same device with a built-in CD player and a remote. Back then, being in my mid-teens, I knew that was the device I wanted/needed but also knew there was no way I could afford it.

So back to Spotify and the Soundlink, after seeing the ad I obviously clicked it and found out there was this new device, based on the Wave, which was portable and wireless via Bluetooth, and has this nice retro look, with a chrome and leather finish, and knowing the quality of Bose device I was sure this was the right set of speakers for me. While in the iStore (local Apple authorized retailer) with my boss a couple of weeks ago, I saw the Soundlink sitting in one of the shelves, turned on and playing some music from one of the clerk’s iPhone. Loved it. I held it with both hands and was amazed of how small and portable it was, smaller than the last Harry Potter book, and yet the bass response was great. Being an A2DP compliant device, I thought I could stream iTunes and Spotify from my MacBook via bluetooth and that’s all I needed.

I bought the device this weekend. Got to the store around 6:00 pm on saturday and told one of the clerks I was going to test the speaker and he said it was ok. I paired my Palm Pixi to it and played some tunes, It sounded ok but there was a small noise that bothered me. It was like when you play mp3s under 192kbps, that kind of distortion, and I blamed the phone. Next, there was this free iMac and I paired it with the speakers. Total different thing. The sound came right from iTunes, just as expected. I said “I want it” and 10 minutes later I was driving out of the mall.

Came home, plugged it in and turned it on. Bluetooth pairing couldn’t be easier, and Mac OS X recognized the device right away. I remember the first song I played was Tin Man by America. The bass came out so deep, with no signs of distortion, and the treble is so crisp that you could hear the metal strings of the guitar and the closed hihat as if I were listening in my car’s stereo (Pioneer, good speakers, gread sound). I poked around iTunes, playing through different styles and genres, everything was great. Until.

I could hear a decrease in quality while playing certaing songs. I used the line-in option with the cable that came in the box to connect the speaker directly to the MacBook and the quality was back. So it must be a Bluetooth issue, I thought. After a Google search and a bunch of opened tabs, I found out what the problem was. Bluetooth itself and A2DP. As it turns out, A2DP uses different “bitpools” which tells the “slave” (speakers or headphones) the specifications of the current stream. It seems like the “master” (in this case my MacBook) has the ability to negotiate the bandwidth and sampling rate, which affects the output. I inmediatly thought there surely was a way to “fix” this. And there it was.

This article shows a string to paste in the Terminal which was supposed to fix the problem. It made the sound better, but not perfect. The best results I had were by setting the bitpool to 58, as this article suggests.

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

Update @ 08.07.2013: A more comprehensive set of values to change can be [found here]http://mariusvw.com/2011/06/16/how-to-fix-the-crackling-bad-sound-of-bluetooth-a2dp-headsets-or-speakers-on-mac-os-x/), which helped me fix the pops and cracks of this same speaker with my new MacBook Pro.

Of course, this is only an issue that affects specific bluetooth chips, and my MacBook being 5 years old might have a conflicting configuration of some sort, and older chip or anything. The thing is that this “problem” might not be a problem at all for some other users using other bluetooth drivers/chips/OSs.

Why Bluetooth over Airplay one might ask, and the answer is easy and I couldn’t agree more. Besides the SoundLink there’s also the popular Jawbone Jambox, and many others. Bluetooth is a Standard and there’s still place for it. I’m happy with the speaker. It’s one of the best things I’ve ever bought. It’s portable, sounds great. Totally worth the price.

Update @ 07.06.2017: Some of the links above are dead (even in Wayback Machine), Mac OS X has updated several times, etc., so here's a up-to-date version of the fix

defaults write com.apple.BluetoothAudioAgent "Apple Bitpool Max (editable)" 80 defaults write com.apple.BluetoothAudioAgent "Apple Bitpool Min (editable)" 48 defaults write com.apple.BluetoothAudioAgent "Apple Initial Bitpool (editable)" 40 defaults write com.apple.BluetoothAudioAgent "Apple Initial Bitpool Min (editable)" 40 defaults write com.apple.BluetoothAudioAgent "Negotiated Bitpool" 58 defaults write com.apple.BluetoothAudioAgent "Negotiated Bitpool Max" 58 defaults write com.apple.BluetoothAudioAgent "Negotiated Bitpool Min" 48 sudo killall bluetoothaudiod