The SensMe Channels are basically the greatest thing since sliced bread. It's an app for your PSP that analyzes the mood content of your music, and lets you shuffle through different "channels" based on those moods. There's Energetic, Upbeat, Lounge, Relaxing, all kinds of different channels.
Even a decade and a half later there's really nothing like it, and that's just a shame.
According to the info you can squeeze out of Sony, they analyze pitch and tempo to classify music. The only part of their handwaving they really talk about is that their algorithm is aware of musical pitches and groups, for example, all Cs with all other Cs. C3 is treated the same as C4 or C8. Which probably helps a lot in identifying the feel of songs, at least when it comes to major vs minor keys.
To start out, I'm probably going to go after that. Build a system that can extract that kind of fingerprint from an audio file, and compare that to how the PSP categorizes things, see if I can figure out the rules.