First Time Linux

Music management

There are a variety of tools and utilities for managing and playing music files on linux. Most popular and common are Amarok, Rhythmbox and Banshee but there are a host more. Most let you manage a library of music files, listing the results by track or artist, let you create playlists and so on. Most of them depend on having a well-organised set of files with the proper file tags in them to identify the music. This is where the tags get important so we'll look here at a way to set up the tags properly.

Ripping your own CDs

Firstly you may want to digitize your CD collection, or at least certain tracks from it. Konqueror has (or used to have) a really neat way of ripping CDs by just drag-and-drop or copy-and-paste from within the file manager, but that was KDE3 and this barebone has only got Gnome, no Konqueror. So what happens when you put in an audio CD? Impressively, an app called "Sound Juicer" starts up and already offers a simple interface for playing or ripping the CD. You can select which tracks to rip, or use the "Select all" feature hidden away in the menu, press go, and then you get all your files. You can select in the options whether you want to create mp3 or ogg files, and quality settings according to your taste. Bear in mind that some primitive music players can't play the ogg format though.

Now, that's not the best bit. Sound Juicer also gets an id number from your CD, and looks it up on a free database of commercial CDs. Assuming somebody somewhere has the same CD and has gone to the trouble of typing in the track listing for you, you're sorted, and Sound Juicer will automatically name and tag your files! Brilliant!

Identifying an unknown mp3

It can happen that you obtain an mp3 which isn't properly named or tagged. For example, you burn a compilation CD of your own (which obviously won't be listed on any database) and then decide to rip it. Of course burning an audio CD only to rip it again is a silly idea, but some braindead applications (such as Apple's iTunes) force such ridiculous behaviour sometimes.

In any case, you've got an mp3 but it's a pain to read out the track names from one program only to type them into another. And it's not just the filenames which you need to do, it's all the tags too. There must be an automatic way...

Enter an application called MusicBrainz Picard, written in cross-platform python using Qt. Here in Debian Lenny it's only at version 0.9 so I took the direct download (a tar.gz) from the download page. This unpacks to a directory, but that's not the whole story. First I needed to add the following packages using aptitude, all from the standard Lenny repositories: python-mutagen, libofa0, libofa0-dev, libavformat-dev, libavcodec, libavcodec-dev.

Then I configured with python setup.py config and installed (as root) with python setup.py install - then run (as user) with picard and you should have your gui. If you get errors about "Libofa not found! Fingerprinting will be disabled.", that means you haven't installed libofa0-dev (just having libofa0 isn't enough). If you get errors "No decoders found! Fingerprinting will be disabled.", that means you haven't got libavformat-dev and/or libavcodec-dev.

Ok, so now what? Now that Picard is running, select the files with the "Add Files" button, and they get loaded into the left-hand pane. Select them all, and then press the "Scan" button. The fingerprinting and lookup might take a while. Now the files appear on the right-hand-pane in a tree according to artist and title (several artists and several titles in the case of a compilation). Here is where it didn't seem to really find the tracks for me, it got the right album but then left the tracks as "unmatched" for some reason. Selecting again and "Scan"ning again seemed to work but it seems a bit eratic.

Now the files on your disk still haven't been changed, you need to again select them on the right and select "Save" from the context menu. But before you do that, it's worth looking at the settings. For some reason, renaming the files isn't on by default (Options -> Rename files). And even then the filenames don't include the artist, just the track number and name. So select which settings you want and then press "Save". Hey presto, renamed files! And of course not only that, look at the properties of the mp3 files in the file manager and under the "Audio" tab you can see artist, title, track, year and so on. Neat!

Finally of course you can then load the renamed files into your favourite music player such as Rhythmbox, and (because of the tags) the tracks are all listed with the right details in the right columns! Very neat!

It's perhaps worth noting here that this MusicBrainz solution isn't completely 100% free and open source software in the true spirit. The client software is free, including the fingerprinting part, but it only works at all if it can connect to the MusicBrainz server where their secret software has analyzed their mammoth collection of music in their special secret way. That's fine for some people but purists would choke on such a thing. It's also worth noting that the matching isn't 100% perfect, it does make misdiagnoses, and the database isn't perfect either, and it does contain typos. But it's a lot more convenient than typing everything in by hand.