You can use the last.fm API: http://www.last.fm/api/show?service=356
The following is an example of the returned XML: http://ws.audioscrobbler.com/2.0/?method=track.getinfo&api_key=b25b959554ed76058ac220b7b2e0a026&artist=cher&track=believe
You should give him at least the name of the artist and track, and you will get the tags back, they are very similar to the genre, but not the same, they are also created by users.
artist = cher & track = believe gives:
<toptags> <tag> <name>pop</name> <url>http://www.last.fm/tag/pop</url> </tag> <tag> <name>dance</name> <url>http://www.last.fm/tag/dance</url> </tag> <tag> <name>90s</name> <url>http://www.last.fm/tag/90s</url> </tag> <tag> <name>cher</name> <url>http://www.last.fm/tag/cher</url> </tag> <tag> <name>female vocalists</name> <url>http://www.last.fm/tag/female%20vocalists</url> </tag> </toptags>
It has some great features, such as implementation, when you spelled the artist name incorrectly.
source share