Sweeper

Automatically tag your music collection with metadata from Last.fm.

License

Copyright 2008 Cloudburst, LLC. Licensed under the AFL 3. See the included LICENSE file. Unlinked portions copyright 2008 Last.fm Ltd., used by permission, and licensed under the GPL 2.

The public certificate for the gem is here.

If you use this software, please make a donation, or recommend Evan at Working with Rails.

Features

  • faster than MusicBrainz

  • better results than MusicBrainz

  • smart genre tagging

WARNING: This is beta software. Backup your music collection first.

Requirements

  • Linux, Intel OS X, or Windows

  • Ruby and Rubygems

  • id3lib (Linux and OS X only)

  • some mp3 files

Installation

Linux/OS X:

First, install id3lib, Ruby, and Rubygems through your package manager. Then start a terminal and run:

sudo gem install sweeper

Windows:

If you have Ruby set up via the One-Click Installer, you install via gems as above.

Otherwise, download a zipfile from the Sweeper section of the Rubyforge page. Unzip it and copy sweeper.exe into the C:\Windows folder.

Usage

Now, start a terminal. Change to the directory of mp3s you want to tag and run:

sweeper --genre --recursive

Your mp3s will be updated with missing artist, genre, and trackname information, and a list of all tagged genres will be added to the comment field, for use in smart playlists.

You do not need a Last.fm account to use Sweeper.

Demo

Unknown song:

$ id3info 1_001.mp3 
*** Tag information for 1_001.mp3
*** mp3 info
MPEG1/layer III
Bitrate: 128KBps
Frequency: 44KHz

Same song after running sweeper ----genre:

$ id3info 1_001.mp3   
*** Tag information for 1_001.mp3
=== TPE1 (Lead performer(s)/Soloist(s)): Photon Band
=== TIT2 (Title/songname/content description): To Sing For You
=== WORS (Official internet radio station homepage): http://www.last.fm/music/Ph
oton+Band/_/To+Sing+For+You
=== TCON (Content type): Psychadelic
=== COMM (Comments): ()[]: rock, psychedelic, mod, Philly
*** mp3 info
MPEG1/layer III
Bitrate: 128KBps
Frequency: 44KHz

Options

Sweeper takes a few command line options:

-d, --dir            Directory to search (defaults to current).
-r, --recursive      Recurse directories.
    --dry-run        Do a dry run (no files will be changed).
-f, --force          Overwrite all existing tags.
-g, --genre=[force]  Add genre tag and genre comments, optionally overwriting 
                     existing ones.

Notes

You will get cleaner tags if you convert your files to ID3v2 first. Sweeper reads both tag versions, but only outputs ID3v2.

Reporting problems

The support forum is here.

Patches and contributions are very welcome. Please note that contributors are required to assign copyright for their additions to Cloudburst, LLC.

Further resources