My Nexus 4 and 7 devices don’t ship with an old school MP3 player anymore. After trying lots and lots of players (all of which I didn’t like), I ended up with Google Music, which is pre-installed on all Nexus devices. While its queue handling takes some getting used to, the player works well and looks really great if your MP3s have embedded album art. I had always wanted off-premises backup for my music, so when I read that you can upload 20,000 songs for free, I decided to give it a try with my own MP3s.
At roughly 300-350 CDs my collection isn’t huge but it’s well-organized both on the shelf and in its MP3 incarnation. I haven’t used a CD player in 10 years, I play each CD exactly once – when it’s being ripped and encoded to high-quality MP3. Afterwards I listen to my music on a Sonos Play:1 (which now supports Google Music!), on an old MP3 player, or on my phone.
I buy roughly 20 CDs a year and don’t take part in any illegal file sharing – people like me keep the allegedly starving record industry in business. I haven’t made the transition to buying MP3-only yet, mostly due to concerns about DRM and watermarks, although I have come to like Amazon’s AutoRip feature. (For many CDs, Amazon makes MP3s available immediately after buying via its Cloud Player while the CD is still in the mail.) Unlike with Google you can only upload 250 songs additional to the ones you bought from Amazon – unless you’re willing to pay extra. But most importantly, I like Google’s Android player better than Amazon’s.
Anyway – I started by uploading my music using Google Music Manager, which is available for Linux. Uploading worked reasonably well; the server-side matching and deduplication process made some mistakes but I was able to correct them manually (ie. throwing all Greatest Hits albums into one Various Artists album).
Downloading my collection (with added album art and in 320 KBit/s!) using Music Manager turned out to be a frustrating experiences though. The poor little program tried and tried, but out of 4500 tracks, it usually failed to download a dozen or so due to server errors. When retrying the download, it started all over again, putting new copies next to files I already downloaded. This is most probably a bug that I hope will be fixed at some point. In the meantime it was easy enough to write my own downloader in Python using gmusicapi.
The web-based player works, but it’s not exciting. As a developer, I respect that, as a consumer I’m indifferent. I still prefer a native client like Rhythmbox which is better integrated with my operating system and supports desktop-wide shortcuts to pause the music or skip to the next track. It’s cool however, to have access to my whole music collection at work without draining my phone’s batteries. At least in theory – most of the time I can’t stand music while working.
The Android player is the part of Google Music that I like best. It has all the features you’d expect (browse by artist, browse by album, a play queue, playlist support, search etc.) and uses album art prominently which I like a lot. Surprisingly, Google’s Play Store isn’t as tightly integrated as I had expected, but that’s not necessarily a bad thing.
It plays local music or streams them from Google’s servers, it caches previously streamed tracks and you can "pin" your favorite music to the device. Unfortunately, everything is saved to a private directory that other tools don’t have access to. This may be annoying to some, but I don’t use any other Android players, so it doesn’t bother me.
To sum things up, after a month of testing, I’m quite happy with Google Music. Sure, there were some limitations that I had to work around using my own scripts, but overall it’s definitely worth trying it out for yourself.