busy week, fun weekend
Mood: optimistic
Music: Wicked - "Dancing Through Life"
Posted on 2005-08-22 14:11:00
Tags: projecteuler charlottesweb worldofwarcraft
Words: 299

Howdy!

The weekend was good - played a bit of World of Warcraft. I got it working on Windows and Linux (some sort of memory issue - doesn't seem to be isolated to one stick or one slot, but only using two (and maybe keeping it under 1GB?) works great), which was nice.

I'm really getting into World of Warcraft, which is unsurprising because I often throw myself into new things. Having Skype working to chat with people while playing is way cool, too - much more efficient than typing all the time.

I have Charlotte's Web rehearsals M-F this week and next week, so I'm steeling myself for that. Luckily the rehearsals are 6:30-9:30, so I get out at a reasonable time (although I have to eat dinner quickish to make it there), and they work us pretty well so I feel like we're accomplishing something. I'm supposed to be off-book tonight for the first time, and I think I can (mostly) do it.

My other latest thing is Project Euler - it's a bunch of math programming challenges. It's fun because it's a lot less frustrating than the Python Challenge, but there's still definitely some depth to it (and I'm using Python to do them :-) )

A random thought I had at some point - say I remember part of a song, but I don't know what it's called or whatever (this happens to me a lot!). Is there some way for me to hum what I remember, then take that sound file and do some sort of correlation with a bunch of known songs and return the best match? I don't know much (really anything) about signal processing, but it seems like humming it in a different key would make things difficult, as well as faster/slower than the original tune. Just thinking...


12 comments

Comment from blamantin:
2005-08-22T14:27:51+00:00

Your mood icon is just weird today, and not something that I would ever pair with optimistic!

Comment from gregstoll:
2005-08-22T14:41:55+00:00

Yeah, it seems more "hyper". Or maybe "frazzled"...

Comment from onefishclappin:
2005-08-22T15:06:54+00:00

"Things are looking up"

Comment from quijax:
2005-08-22T15:59:52+00:00

Oh goodness, trying to pattern-match humming vs. a full-fledged song would take a lot of work. You'd have to be able to isolate the different musical lines in the songs to even begin to compare things. Or maybe we can assume you'll always be humming a vocal line... That might be isolatable... Hmm...

Comment from gregstoll:
2005-08-22T16:36:24+00:00

Yeah, I think just comparing it to vocal lines would be a good first try (although I was kinda thinking that it could work for guitar solos, too...but that might be a little tough :-) ). And then you could *mumble something about FFT*...

Comment from quijax:
2005-08-22T19:29:04+00:00

I brought this up with my dad over dinner (get two geeks together...) and he says people are already doing it. I did a little research, and here's a page dedicated to a conference on Music Information Retrieval. There's some interesting stuff you'd need, including how to extract the melodic line from a music sample.

Comment from ikarpov:
2005-08-23T22:14:06+00:00

Classifying, indexing and clustering music has been an interest of mine for some time now. I tried a hidden markov model, self-organizing maps, and a few more esoteric NN architectures. In general, what you are looking for is papers on "query by humming". I would be curious to see if you can get an efficient implementation of it using one of the streaming database systems, perhaps using dynamic time warping distance-based indecies. We dug up some references for this during a class presentation last semester for a database implementation course. Eamonn Keogh is a good guy to look at for time series clustering and indexing research.

Comment from ikarpov:
2005-08-23T22:16:23+00:00

Ooops that link is actually http://www.cs.utexas.edu/users/dsb/cs387h/DBI2005-Group5-Streams.pdf

Comment from gregstoll:
2005-08-23T22:41:20+00:00

Cool! Thanks for the info, both of you. I guess it's not a new idea after all :-)

Comment from djedi:
2005-08-22T18:58:27+00:00

I assume you're thinking of the sound matching as being done by comparison of wav files but have you considered thinking of it as matching more midi files/sheet music? Wav files can be converted to sheet music somewhat and such matching could more easily done there especially as you can easily account for key differences and speed differences (by ignoring the length of notes) to get good probable matches.

Comment from quijax:
2005-08-22T19:31:45+00:00

I don't think this is the way to go because you're adding more error into the system by comparing recognized output. Imagine trying to do searches on speech recognizer output, with all its funny word choices, non-punctuation, and spelling errors. It would make the problem twice as difficult, since different recognizer outputs would have different errors. I would imagine music recognition is even worse.

Comment from gerdemb:
2005-08-22T22:34:23+00:00

I don't know about humming, but I read a news article once about doing something similar with cell phones. The idea was that you'd be listening to a song on the radio that you wanted to know the name of, and you would call the number and hold your cell phone up to the speaker. Their software would do so some sort of pattern match and send you a text message with the name of the song (and a charge I'm sure). Of course this would be much easier since you're matching the exact same things together.

This backup was done by LJBackup.