Beets is the media library management system for obsessive-compulsive
music geeks.

The purpose of beets is to get your music collection right once and
for all. It catalogs your collection, automatically improving its
metadata as it goes. It then provides a bouquet of tools for
manipulating and accessing your music.

Because beets is designed as a library, it can do almost anything you
can imagine for your music collection. Via plugins, beets becomes a
panacea:

- Fetch or calculate all the metadata you could possibly need: album
  art, ReplayGain levels, or acoustic fingerprints.
- Get metadata from MusicBrainz, Discogs, or Beatport. Or guess
  metadata using songs' filenames or their acoustic fingerprints.
- Transcode audio to any format you like.
- Check your library for duplicate tracks and albums or for albums
  that are missing tracks.
- Browse your music library graphically through a Web browser and play
  it in any browser that supports HTML5 Audio.
- ...and lots more.

If beets doesn't do what you want yet, writing your own plugin is
shockingly simple if you know a little Python.

Optional dependencies: 
Flask, pyechonest, pyacoustid, pylast, python-requests, discogs-client.
