I had a new project idea while I was in the shower this morning. Basically, it would take in a music file and output the musical notation. Or at least something reasonably approximating it. There may already be software that does this, I really haven't checked. But this doesn't seem all that complicated to do. You basically take a digital sound sample and FFT it like crazy. This gives you your frequency response at periodic intervals throughout the sound file. Since your sampling frequency is locked-in by the sample rate of the digital audio, you can vary the output interval by changing FFT size and overlap. Obviously this impacts your resolution, but even with a 1 Hz resolution, this is theoretically more than adequate to differentiate even between natural and accidental notes on the lowest end of a piano. We're talking about frequencies around 30 Hz here, and much below that, human hearing drops off and the "sound" you hear is really more of a full body vibration than anything your ear is picking up specifically. Anyway, so my plan is to take the FFT of each periodic sample and identify tonals that stand out. These should be identifiable as musical notes with some reasonable degree of accuracy (given some wiggle-room to account for variance in tuning). After that, you've basically got a chart of musical notes across time. Then I just need to plot them onto a musical scale. This doesn't identify specific instruments, but if you tried to play it, it should be fairly obvious which instruments play which parts. Other potential problems are dealing with effects processors. Chorus, reverb, wah, distortion, etc all add elements to the final sound that the original instrument did not actually play. But those are the kinds of things I'm curious to see if this process can isolate and weed through to find the original music underneath.