If you have a music collection that has been obtained through a variety of methods (some purchased from online stores, others coming from CDs you have ripped yourself), then it’s likely that the ID3 tags in your music aren’t entirely consistent. Maybe, for instance, some of your music is by a group called “The Beach Boys” while still other music is from two other groups: “Beach Boys” and “Beach Boys, The” which will cause your Beach Boys collection to show up in three separate places in a music player like iTunes.
To fix this problem, many music players include an option for the user to go in and fix the ID3 data. This is often a tedious process, however, and must often be done album by album, if not track by track.
A new program called Beets is able to not only correct those tags, but manage your library as well. It’s a cross-platform application that is used from the Terminal (hence being called “the music geek’s media organizer” by its developer), and will be demonstrated in Linux.
To install Beets, first open a Terminal.
Next, for Ubuntu users, you’ll need a few Python libraries, so type sudo apt-get install python-dev python-setuptools python-pip into your Terminal. Depending on what other programs you have installed, they may already be on your system.
Once installed, use ‘pip’ (a tool used to install Python packages from the Python Package Index), to install Beets. To do this, enter sudo pip install beets into the Terminal.
PIP will now install Beets, along with any other required Python libraries, such as Mutagen (for tagging).
Now, open up the Beets configuration file; we need to edit where Beets will place your modified music, as well as where to store your music library file (a file which won’t exist until Beets creates it). Type gedit /home/username/.beetconfig (replacing your username with ‘username’ in the command) to create the configuration file.
Next, add the following lines to the file:
[beets]
directory: /path/to/music
library: /path/to/musiclibrary.blb
Once you’ve done this, save the configuration file; you’re now ready to begin using Beets.
To do so, simply type beet import /path/to/music into your Terminal.
In this case, the path is the path to a folder already containing music, not the path you used in the configuration file. In the above example, there is a folder with music by Phish in it; this is the folder we want Beets to import. As the music is imported and corrected, you’ll see certain tags being adjusted, thanks to MusicBrainz. For our test, we intentionally placed a handful of errors in the ID3 tags. As you can see, the errors were caught and fixed.
As you’ll see, this is not a fast process, as Beets first needs to scan your music, then check with the online MusicBrainz database to compare your tags with the entry located there, and then fix your tags if necessary, before finally moving your music into your new collection folder. It’s probably a good idea to check with just a single album to see how long it takes for you, before throwing your entire collection at it.
One other thing to keep in mind is that however much space your music takes up before you begin, it will use twice as much when you’re finished, as Beets doesn’t move your music by default, but copies it to the new location. To change this behavior, add the “-C” modifier to the command, so the above command would be this:
With this command, your music tags will be changed, but your music will not be copied anywhere; instead, your current directory will be used.
You can also choose to simply import your music, without changing tags via MusicBrainz. For this feature, add the “-A” option to the command.
For other configuration options (options that can be placed in your default configuration file as well as those that can be used when actually running Beets, which will override the default configuration if different), can be found at this link.
At its most basic, that’s what Beets does. If you have a large library, be prepared to wait awhile as Beets does its thing. In the end, however, you should not only have a more organized music library, but a more consistently tagged one as well.
Beets also comes with a wide variety of plugins to allow it to embed album art, use ReplayGain settings and more, as well as community contributed plugins, such as grabbing lyrics for your music. All those plugins can be found here.
