A Ruby script to automatically tag your music collection with metadata from Last.fm


License: AFL-3.0

Language: Ruby


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


No replacement.


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.


  • faster than MusicBrainz

  • better results than MusicBrainz

  • smart genre tagging

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


  • Linux, Intel OS X, or Windows

  • Ruby and Rubygems

  • id3lib (Linux and OS X only)

  • some mp3 files


Linux/OS X:

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

sudo gem install sweeper


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

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


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.


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
=== TCON (Content type): Psychadelic
=== COMM (Comments): ()[]: rock, psychedelic, mod, Philly
*** mp3 info
MPEG1/layer III
Bitrate: 128KBps
Frequency: 44KHz


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.


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

Project Statistics

Sourcerank 6
Repository Size 17.6 MB
Stars 32
Forks 2
Watchers 2
Open issues 1
Dependencies 0
Contributors 1
Tags 0
Last updated
Last pushed

Top Contributors See all

Evan Weaver

Something wrong with this page? Make a suggestion

Last synced: 2017-11-24 19:41:16 UTC

Login to resync this repository