Tuesday, April 21, 2009

Assignment #10 - Eugene Chang

A problem that can be solved by a large group is identifying a song. Take for example that I don’t know a song that I heard on the radio yesterday. I don’t remember the words, can’t find the title or artist of the song from anywhere, and only know sort of how to hum the chorus. There’s a few ways that one could still go about trying to figure out the song, but staying on topic for this post, a good way of trying to figure it out is to try to hum it to someone and see if they know it. The more people you can poll with this hummed version of the song, the better possibility that someone actually knows the song.

This is a pretty arduous task in trying to find people to actually listen to you hum a song over and over to see if they recognize it (for both me and my friends!). There’s also no guarantee that I’m actually great at humming and could be completely off from the song itself. Essentially, if I’m bad enough at humming the song, there’s no computer algorithm that could even come close to identifying what I’m trying to sing and match it to a song. (On an important detail of recorded sound, even the “sound of silence” can ruin a recording and make the wave form completely indistinguishable from other wave forms similar to it, even though to our ears, it doesn’t sound like music or even any sound at all).

Technology though can still come through for us in this way. Imagine a system that records your hum of the song and shares it for people to try to identify. This creates a community for people to try to ID what song it actually is. It’s also not too far off to think that I probably don’t have the best recording equipment available if I can’t sing too well. Say I have a web cam to record it. If we collect other people trying to hum songs as well, it’s a good chance they’ll be recording through the same equipment (or better). Thus, it’s probably much easier for an algorithm to try to match these sounds together. Additionally, the identification of some songs would allow other hums that are closer to be more closely matched with another. It’s all just becomes one big machine learning problem!

2 comments:

  1. I think this is a great example of a task that could be crowdsourced and be very accurate. Even more than just identifying a song would be categorizing music based on related genres, lyrical content, and moods. Currently there are some computer systems that recognize tones like the Shazam program for some mobile phones which is actually surprisingly accurate. However there is no way for a machine to understand the metaphors and meanings of songs--at least not yet. Imagine if you were making a playlist and you were able to type in "I want hip-hop with jazz influence and talk about politics". This request could be broken down into components and crowdsourced so that your friends or other users could recommend songs.

    ReplyDelete
  2. Who's ID'ing the songs? I like the idea of matching different peoples hums to try and create an accurate humming of the song, and at that point you could possibly use the computer to match to a song. However, I don't think you would be able to get people to sit on their computer and listen to people humming, while trying to figure out what song it is. You would have to offer some incentive system to get people to do it, ie you can only submit a hum if you attempt to answer another hum. Interesting idea though.

    ReplyDelete