Last.fm Fingerprinting Client

Last.fm have posted some more about their work on a fingerprinting client that looks up track metadata based on audio and tag analysis. The client can be downloaded from the middle of that post: it's run from the command line, with the file to be analysed as the first argument, and produces XML results like this:

<!DOCTYPE metadata SYSTEM "http://fingerprints.last.fm/xml/metadata.dtd">
<metadata fid="14890790" lastmodified="1205776219">
<track confidence="0.762396">
    <artist>DJ Donna Summer</artist>
    <title>Boomshakalaka</title>
    <url>http://www.last.fm/music/DJ+Donna+Summer/_/Boomshakalaka</url>
</track>
<track confidence="0.139232">
    <artist>Donna Summer</artist>
    <title>Boomshakala</title>
    <url>http://www.last.fm/music/Donna+Summer/_/Boomshakala</url>
</track>
<track confidence="0.098371">
    <artist>DJ DONNA SUMMER</artist>
    <title>04 (Boomshakalaka)</title>
    <url>http://www.last.fm/music/DJ+DONNA+SUMMER/_/04+%28Boomshakalaka%29</url>
</track>
</metadata>

Note the confidence level, which is very useful.

As Norman Casagrande pointed out in response to Yves Raimond's post about identifiers, using the -nometadata parameter gives you just the internal last.fm identifier for each track (fid in the example above), and the alternative spellings for that track's metadata can be retrieved from http://ws.audioscrobbler.com/fingerprint/{ID}.xml, which can also be generated using the -url parameter.