David Lu's Computer Science Research

I left high school knowing two things: I really liked computer science and music, but only had something resembling talent in the former. Thus, I decided that computer science would be the path I would take, but I didn't want to completely abandon music in my life. I wanted to find something that that involved both.

As a musician, I found it increasingly frustrating that I couldn't get sheet music for my favorite songs. The quality of off-the-shelf music transcribers was lacking, and I found out that the problem of polyphonic music transcription was an unsolved problem. I spent a while trying to figure out a unique approach to the problem until I finally decided on genetic algorithms.

My plan was to use genetic algorithms to produce massive numbers of possible transcriptions and evaluate their fitness by generating some representation of what each transcription sounds like when played on simulated instruments. Several thousand lines of code and inumerable trials later, I had a working prototype, able to transcribe as many as 15 simultaneous notes, correctly identifying both pitch and instrument, whereas others in the field have been able to transcribe at most three. Paper pending.

In my "spare time", I continue to at least pretend to be a musician, playing trombone in the Stingers and singing and dancing in Off Broadway On Campus. I act in plays at the Drama House, too. I'm a Take 5 Scholar as well, studying astronomy and philosophy, trying to find my place in the universe. I'm now Chair of the Computer Science Undergraduate Council, and I've also been a member of our ACM Programming Competition team and captain of our championship CS Games team.

David's Honors Thesis: Automatic Music Transcription Using Genetic Algorithms and Electronic Synthesis


Last change July 19, 2006 by Marty Guenther
Please report problems with this server to The Webmaster