Thursday, 16 February 2012
Music identification shootout: TrackID, Shazam, SoundHound
You're in a bar, there's some obscure song on that you like, and you want to know which one it is. So you dig out your phone, fire up an app, record a few seconds, and get the artist and title in return.
There are a couple of apps for this, which all share the same idea: record a few seconds of music, create a digital fingerprint from the recording, and compare it with the fingerprints in an online database. If it finds a match, it will tell you what's playing. If it doesn't find a match, you can try again with another app. All apps are better at identifying american and european music than exotic stuff, but you have to try something really obscure local interest-only music to make all apps fail.
Different apps, different databases. Someone should code a meta track identification app that searches all the music databases at once. Of course you could use different apps one after another, but this takes a lot longer, and you risk running out of time. You don't want the song to end before your last identification app has had a chance to record and match.
Until someone codes a meta app, you can only shoot one gun at a time.
But which gun?
TrackID used to be a Sony Ericsson phone-only app, but not anymore. It appeared on the Android Market a few months ago, but not everywhere.
The number of supported countries has grown a lot since then, so it's probably available in your country by now. You don't need a Sony phone, because any Android phone will do. There's a bit of Sony Ericsson branding on the main screen, but in such a modest font size that you'll barely notice.
What sets TrackID apart from similar apps is that it uses the Gracenote database, which is bigger than what the competition taps into.
TrackID ties your search history to your SIM card, so if you pop in another card your list of previously searched songs is gone. No big deal, really. What is a big deal is that TrackID has gotten less accurate after a few updates that were meant to speed up the app. It now records less seconds, which results in more fails and false positives that require a new recording and search. Especially for acoustic sessions without drums or other beats.
Even so, TrackID is the best of the lot.
Shazam is the oldest, most well know app for finding songs. It's database is nowhere near as big as Gracenote, but Shazam usually does a pretty good job at finding the right artist if a song is covered by more than one.
Unfortunately Shazam is a bit buggy. If often switches the "vibrate on tag" feature on all by itself, no matter how often I switch it off again. And there's some sort of network traffic going on between the Shazam app and who-knows-where when Shazam is supposed to sit quietly in the background doing nothing. This data leak disappeared a few weeks ago, but later updates brought it back. If you have a backup copy of version 3.8.1 somewhere, give it a shot. This is the most recent version that doesn't drip data in the background on my phone.
Just like Shazam, the database of SoundHound is nowhere near as big as the Gracenote database used by TrackID. And SoundHound suffers from featuritis. They are adding so many bells and whistles that the app is getting a bit bloated. But SoundHound has a few things going for it that make it stand out from the competition.
SoundHound is very tolerant to background noise. Good stuff, because you can't tell the entire bar to shut up just because you're pointing your phone at some music. It can sometimes identify tracks if you sing or hum them, but it's a hit'n'miss feature with more misses than hits. Still, it may be your only way to identify live music. SoundHound is faster than Shazam and TrackID, but not so much faster to make it matter.
Apps to stay away from
SoundTracking taps into the Gracenote database like TrackID does, but SoundTracking comes with mandatory social network login (and you can't remove your Facebook or Twitter account from their files once you give it to SoundTracking), requires way too many taps on your screen to start tagging, and comes with a user interface that looks like it was designed by a blind monkey on LSD.
MusicID from Gravity Mobile, Inc. wants money to do what the other apps do for free. Worse yet, MusicID rarely works at all.
Use TrackID whenever possible because it taps into the largest database, use SoundHound in noisy places, and try Shazam if the other two fail.
Shoot first, ask later.
If app one fails, the song may be over before you can give app two and three a shot. But there's an easy way out of that. Just record the music with any sound recorder of your choice (e.g. the app you use to record phone calls or make voice notes). Now you have all the time in the world to play back your recording with TrackID, SoundHound, and Shazam running. It's the most foolproof way to ensure that the song doesn't stop before you tag it.
And I still want that meta app that polls all the databases. More chance of a positive ID, less chance of false positives. Any coder up for the challenge?
Update: SoundHound was caught sending your GPS location and other private data out to its own server whenever you launch the app, and also whenever you boot your phone if you have the SoundHound widget on your homescreen. If you don't want to share your location with SoundHound HQ, you should block its location access with an app like LBE Privacy Guard.
If TrackID is not available in the Android Market for you, you can get a copy (but not the most recent) from the xda forums:
• TrackID on xda
(there's a very old copy in the opening post, and more recent copies on page 2)