Tuesday, September 28, 2010

Android song identifier testing: Shazam vs. SoundHound

Test Purpose:

Song ID software for Android devices, head-to-head competition. Both programs allow five IDs a month for free, and cost $4-5 for the full version with unlimited IDs thereafter. (Shazam came with a 7-day trial of the unlimited tagging version, actually.) Both programs will be tested with the same five songs, the same section of each song played for as long as the program requires for identification.

The Android device used will be a Samsung Acclaim, on US Cellular's EVDO (3G speed) network. Voice signal strength is good, 4-5 bars, and the data signal should be good. The Acclaim is running Android 2.1, and is plugged in on its charger for optimal power.

The songs will be played on a generic Dell office computer, the kind that has just one speaker... somewhere in there... this will simulate the poor listening conditions of being in the car or the supermarket or some other awkward situation where identifying a song can be challenging. (The quality of the sound isn't really all that terrible, it's just far from optimal.) The computer runs a 3GHz Pentium 4 with 1GB of RAM, Windows XP Professional Service Pack 3, and Windows Media Player 11. Volume all the way up.

The songs:

GOODNIGHT TECHNOLOGIST by The Main Drag. The drummer for this independent Boston rock band works for Harmonix, who make the Rockband games. "A Jagged Gorgeous Winter," featured in Rock Band 2, might have been too easy. This is the last track on the album "Yours As Fast As Mine". Identification will begin 2:40 into the song. Watch this song performed in Rock Band 2 on YouTube.

JUPITER by Holst from The Planets. I decided to include a classical piece, and this was the first I came to that didn't make me think "a-ha! I know that one!". I don't believe that this is necessarily obscure, but it's not really common, either, at least not in the sense that Beethoven's Fifth (or even Ninth) are. Or "1812 Overture", or "Ride of the Valkyries" or any of that cool stuff. Identification will begin 5:20 into the song. Listen to this song on YouTube.

LOVE ME OR HATE ME by Lady Sovereign. This is a remix featuring Missy Elliot, and I'm going to play her part of the song. I like Lady Sovereign, mostly for her accent, I think, but her songs are fun... her album's pretty easy to hate, and I have to be in a certain mood to listen to it, and I can only listen to a couple songs. I don't think her album or singles were ever very popular, but I expect this should be the least challenging for the software to ID. Identification will begin 0:33 into the song. Listen to this song on YouTube.

MELODY (SALVA NOS VERSION) by Yuki Kajiura. This song was on one of the Noir soundtracks, and is one of the five studio versions of her song "Salva Nos". A song sang in Latin, from Japan, should provide quite a challenge. Identification will begin 1:20 into the song. Listen to this song on YouTube.

STILL ALIVE by Jonathan Coulton from the Portal game, only this is a .mid of that song that somebody played on a MIDI keyboard. This promises to be challenging because its similarity to the original varies. (This is the equivalent of the "hum-it challenge" that people say I should do for SoundHound. I was gonna hum the synth part of Europe's "The Final Countdown" but changed my mind.) Identification will begin at the very start of the song. Listen to this song on YouTube.

I would like to point out that while I may look like a real bastard for picking such obscure songs, the fans of each of these programs make some pretty outlandish claims about their favorite in the Android market -- and when I proposed a few of these songs on an Android forum, I was told by both sides that these choices were "too easy" for their favorite app. Let's see how they fared, shall we?

The test:

Song: Goodnight Technologist
Shazam ID: No match
Notes: none
SoundHound ID: No match
Notes: none

Song: Jupiter
Shazam ID: No match
Notes: Gave up several times immediately after the song started, but it let me retry until it actually did its "Listening... Sending... Matching..." gig.
SoundHound ID: No match
Notes: none

Song: Love Me or Hate Me (Missy Elliot Remix)
Shazam ID: Love Me or Hate Me
Notes: It didn't react at all to Missy Elliot's singing, and only tagged the song after Lady Sovereign came on with the chorus. Also, it tags it as the original, not the remix, and it got the album wrong.
SoundHound ID: Love Me or Hate Me
Notes: Also tags it as the original, but it didn't wait until Lady Sovereign came on to make the tag, so it actually recognized Missy Elliot's singing as the Lady Sovereign song, so technically, it did tag the remix.

Song: Melody
Shazam ID: No match
Notes: It came to the conclusion that it didn't recognize this song a lot faster than the first three tests.
SoundHound ID: Salva Nos
Notes: It tagged the third or fourth version of Yuki Kajiura's epic as the fifth version, I assume based on the lyrics.

Song: Still Alive (MIDI)
Shazam ID: No match
Notes: Refused several times to try this song -- must have told it to retry a dozen times.
SoundHound ID: No match
Notes: None

Shazam final thoughts: This thing is a real piece of work. Half the time it doesn't even attempt to tag the song, it just says no. But at least it doesn't force close or anything, one click makes it try again... and again... and again. Since I have unlimited use of this thing, I'm going to throw some more popular tunes at it. This is not officially part of the test, I just want to find its limits... because I can. Played Europe's "The Final Countdown", and after refusing a dozen times, it showed me the correct artist and title, but it got the album (and album cover) wrong. OK, "Crazy B***h" by Buckcherry, it didn't refuse, and got all the facts right, so far as I can tell. It similarly got "Prayer of the Refugee" by Rise Against. And it recognized what is probably Yuki Kajiura's most popular song, "Key of the Twilight", but did not know the album name (of the version I have, or the soundtrack the original comes from -- .hack//SIGN). This app is kinda pretty, but it likes to vibrate a lot. (Ringer is on full.) It vibrates randomly as it listens, and it vibrates when it's got something (or nothing) for you.

SoundHound final thoughts: SH is a little nicer than Shazam in presentation; my only gripe is that I like Shazam's blue theme better than SH's yellow. SH's pie chart is nicer as well, as it starts from the 12 o'clock position rather than the 1 o'clock (WTF's up with that?) and it finishes its test before the pie chart fills, as opposed to well after. And SH never flat-out refused to make a match. Lastly, it shows a volume meter that shows how well it can hear the source, so you can adjust your positioning if you can. SH doesn't give an unlimited trial, but it doesn't count its failures against the user, so I have 3 more IDs left before I have to wait 30 days (or until October, however it does it), so I'm going to throw some songs at it. I'm going to be harder on it, because it has already proven itself to be more resourceful than Shazam. It recognized "Cry Little Sister" by Seasons After almost immediately, a song I haven't heard of, but my wife got. It recognized "Sing Along" by the Blue Man Group featuring Dave Matthews (though it didn't identify Dave Matthews as being involved). It failed to recognize an early demo by Evanescence called "You" that was the subject of some controversy when some fans built a hoax around it, saying the band didn't want people to hear the song, or some such mess (which was later proven false). But that was a cheap shot at the program, I would have had to have been very impressed if it identified that. Lastly, it identified "Atonement" by Parabelle, an independent lite rock group fronted by former Evans Blue vocalist Kevin Matisyn. Also, after the fifth successful tag, it prompted me to pay for the full version, or continue using the lite version, which would be reloaded with five more credits "next month" (in four days? Or 30? 31?), but until then, could be manually searched for lyrics.

Conclusion: Shazam can identify popular songs, but it utterly fails to recognize anything remotely obscure. It does give you seven days of unlimited tagging for free, so you have plenty of time to play around with it and see if it's worth your money. SoundHound is a little more resourceful, and has a nicer interface, although Shazam gives you more things to do once you've ID'd a song. Emailing, Tweeting, or Facebook'ing the information, there's a whole list. SoundHound pretty much links to the lyrics, if they're in its database, and YouTube, though the rest may have been buried in the menus. I cannot wholeheartedly recommend either app, and would go so far as to say that many of the posts on the Android market in the comments for these apps in support of the other one are false, and possibly planted by people with something to gain from the other one being purchased. Neither of these apps are nearly as good as people say they are. Then again, their phone's mic could have better noise cancellation, or perhaps other conditions were different. But mine were more than fair considering the magic some will say these apps can work. Based on what I have seen, if someone told me they were walking down the streets of Manhattan, and saw a guy whistling a tune across the street, and they held up their phone, and either Shazam or SoundHound identified it as Frank Sinatra, I wouldn't believe them even if their tongue were made of solid gold and notarized. If I buy one, it's going to be SoundHound, just because it's more resourceful. But it's not going to be because I think it's worth the money; Googling the lyrics has always worked for me. It's going to be because US Cellular gives customers who buy Android phones, $20 gift cards for the Android Market. They don't work for anything else -- I tried. If, by November, when my gift card expires, I may buy SoundHound. No promises though.

PS -- I rated each app on the Android market a number of stars equivalent to the number of songs it got right. I show up there as Nathan or Dark Reality, I forget which, but I mention the test, and will update my comments with a bit.ly to this post.

No comments: