The Linux desktop comes with a variety of multimedia players, such as Xine, MPlayer, and Amarok. Yet all digital media players are only as good as the files they have to work with, and preparing those files requires the best tag editor you can find. I checked out half a dozen of the more popular and stable graphical ID3 tag editors available for Linux. I found that going from no tags to great tags requires keeping more than one of these editors on hand.
While many audio players support editing tags, tag editing often isn't the most important feature in those tools. Programs designed specifically for editing tags generally provide a wider range of editing options. For each of the applications I tested, I focused on ease of use and key features such as:
- Automated searches and tag updates
- Integration with external services such as Discogs, MusicBrainz, and Amazon
- Tag and file renaming
- Cover art support
- Multiple file editing
- Drag and drop integration
- External plugin support
The music library I used in my tests comprised untagged MP3 files of multiple genres ripped with filenames matching track names with underscores, under album directories stored under artist directories.
Cowbell is a tag editor with limited editing features though with some promise. It focuses on editing a single album at a time, a single track at a time. Editing multiple albums from a single artist at one time is not supported. Users can select albums with the built-in directory tree browser or by dragging folders from a desktop file manager into the main window.
Cowbell does not support plugins but does utilize built-in searches using Amazon's Web services API for album and track searches, though there is no way in the UI to configure this, and nothing shows that the search is occurring with Amazon's help. To look up an album, choose an album folder, but do not select any tracks. Type in the artist and/or album information. Use the Tools -> Guess Song Information menu to open a dialog and connect to Amazon to retrieve album information. Cowbell will rename the files in the Title column and correctly order them by their track numbers on the CD. You can then save the changes back to the files on disk.
If you select any titles before running Tools -> Guess Song Information, the information you get in the organizer window will be incorrect. Also, searches through Amazon can take some time to complete, and you can't cancel a guess using the Cancel button -- you have to close the dialog using the window manager close button. Unfortunately, successful guesses did not automatically choose a genre nor fill in the year of the album release. And while searches worked fine for popular styles of music, Cowbell failed to correctly identify soundtracks and holiday music.
Successful guesses will download and embed cover art in each song's tags, though it doesn't tell you so, but you can verify they're there by opening the files in an audio player that shows the cover art.
Cowbell lets you modify multiple tracks at one time using a command-line batch mode, but not directly from the UI. The project's Web site says that the batch mode does not support cover art downloads.
Cowbell's best feature is its simplicity and ease of use, but it lacks a lot in the way of direct editing of anything other than the most basic tags (artist, album, year, and genre). Documentation is sparse, though the program's Web site offers a By the Numbers page that explains how to use the tool.
File renaming is limited in Cowbell. You cannot specify which tags to use in the filename. Instead, the Preferences dialog limits you to a set of four formats based track, title, or artist information. Conversely, Cowbell cannot use filenames to guess tag information.
EasyTag is an older but actively developed tag editor that supports IDV3, APE, and AAC tags and Vorbis comments.
EasyTag uses a directory browser and a automated scanner to locate audio files on the local hard disk. Scanning starts immediately on the current directory unless you disable this option in the preferences. You can edit tags for multiple files at the same time, though this feature works best if the files are all part of the same album.
EasyTag retrieves album information from CDDB, an online music database. Users can configure which URL to use, and take into account the use of a proxy server for those behind a firewall. You can add tags manually or automatically using either file naming conventions or via CDDB searches. You can search for multiple possible matches using term-based CDDB searches. Term-based CDDB searches work well if you give it the album title or artist name.
To match search results with your files, the order of your audio files as displayed by the editor must match the track order of songs as returned from a CDDB search. You can change the order of the tracks in the CDDB search results via drag and drop. Alternatively, you can skip the ordering requirement and use the Levenshtein algorithm option to see if EasyTag can automatically match your files with the CDDB search results without respect to track ordering. In practice you'll find a mix of both methods will be required throughout your audio file collection.
Once you select from the list of possible matches, EasyTag automatically fills in your tags for each file. As with most taggers, these updates are not saved until you manually save the changes.
In my tests, EasyTag did an excellent job at automatic identification of albums. It was able to identify some generically labeled classical music, such as a collection of Mendelssohn's Symphonies 4 and 5, based on the number of tracks and the file names. I had to browse a large set of possible matches but was able find an exact match, though the performing symphony was not listed.
Online documentation does not specify support for cover art, but art does appears to be added automatically to the individual audio file tags; there is no option for enabling or disabling this feature. One of the best feature of EasyTag is the way it automatically renames files to match the album order of songs. You can configure the format of the filenames using the Tag and File Name Scanner dialog. The options for filenames are based on tag data for the file, such as the artist, track number, genre, or composer. You can also retrieve tag information from filenames using a similar scanner dialog that previews where tag information is pulled from the filename.
EasyTag is not quite as simple to use as Cowbell, but it makes up for this in sophistication. It provides far more tagging options, automatic genre marking, and user selectable matches from CDDB searches. You get more features at the cost of a slightly more complex interface.
Audio Tag Tool
Audio Tag Tool is a tag editor for desktop users who are strictly interested in manual edits of their files. It supports ID3 and Vorbis tags but offers almost no documentation. Users select audio files using a directory browser. There are no automated searches for tag information, no external plugins, and no integration with external services, and Audio Tag Tool does not support retrieval or embedding of album cover art.
You can use Audio Tag Tool on multiple files at the same time by creating tag contents and applying them to a selected set of files. The tags can be based on file naming conventions, so that tags can be applied to multiple files but with different tag content.
The best feature of Audio Tag Tool is an extended set of options for file renaming. A tab in the main window includes support for using any of seven tag fields -- title, artist, album, year, comment, track and genre -- in a user-defined order. It uses a consistent interface to allow pulling tag information from filenames. You specify the tag order in the filenames and Audio Tag Tool does the rest.
This tool is strictly for manual editing of existing tags. It's not designed for collections of untagged files that you want to easily and quickly tag using external sources of information and include cover art.
Next: Kid3, Picard, and Ex Falso
Like most of these tag editors,
Kid3 uses a directory tree browser to
select local audio files for editing. It uses external archives, such as
to search for tag information.
Kid3 will import tags using any of the available external archives, and you can easily experiment with archives to find the best match. Most of the searches are fast, with the expected exception of MusicBrainz fingerprinting, which requires reading the files to create the fingerprint instead of using simple term-based searches.
Kid3 is the best tool for finding exact matches quickly. Some albums, such as Boston's self-titled debut release, required MusicBrainz fingerprinting, but these searches were able to identify every track correctly. Unfortunately, MusicBrainz does not supply genre information, so you must add it manually before you apply the tags to the files.
I found other albums, such as Billy Joel's Storm Front, much faster and just as accurately using a term-based search with Discogs, though this still required some manual browsing of multiple potential matches to find the exact match.
Kid3 does not include external plugin support to extend the feature set. It does download cover art automatically when it's available and attaches it to files. You can tag and rename multiple files at one time, though only for a single album directory at a time. The tool is not preconfigured to rename files with underscores to files with spaces as most other editors are, but you can set this manually in the preferences dialog.
Kid3 supports renaming files using multiple tag fields. A large set of preset formats is included and can be edited to suit your needs on a per-file basis. Tags supported include track, album, title, artist, and year, with most of the presets focused on variations on the use of spaces, dashes, and other types of punctuation marks. The same format specification can be used to retrieve tags from filenames.
The biggest problem with Kid3 is that it's not clear how you should use it. Apparently you have to select Tools -> Apply File Name Format and Tools -> Apply Tag Format before you save the updated tags or the files are not renamed and the tags are not applied. However, selecting these two menu options causes no change to the UI, so it appears as if nothing happens when you select them. If these settings can be enabled or disabled, then there should be an indication of which are enabled and which are not, either in the menu, the preferences dialog, or in the toolbar. Either that or the program's Save option should handle this automatically.
Kid3 is the best tool I tested for finding exact matches to individual tracks, but its UI is confusing and the online documentation is not complete enough for typical desktop users.
Picard is a successor to most of the other tag editors in that it tries to do more than simple term-based searches. Instead, it relies on a process of fingerprinting audio files, in a manner similar to a checksum but not quite as simple, and matching the fingerprint against a database of audio collections. Theoretically the fingerprinting should offer better match results when you're doing automated tagging. In practice the number of potential matches is large and exact fingerprint matches are uncommon. Still, despite the lack of exact fingerprint matches, the metadata associated with the matches (track names, ordering, album titles, artists, and so forth) does match. This makes tagging files fairly easy by associating the returned matches with any set of audio files through a drag and drop process.
Picard offers a traditional directory browser to select audio files for editing. You drag album directories from the browser into the middle pane of the main window, where untagged files are added to an Unmatched Files folder and tagged files that Picard can recognize are added to the Clusters folder. Since none of the files I was working on for this article had any tags, all the files end up in Unmatched Files.
Picard works with your default Web browser. When you search for matches, the potential matches show up in the browser. You select the correct match in the browser by clicking on the Tagger icon to open the selected album in the right pane of the Picard window. Then you can drag the files in the Unmatched Files folder onto their matches in Picard's right pane. As you drop them in this pane the entries are given color-coded icons to give you some idea of how well they match up with the data from MusicBrainz. Icons include a green check mark for an up-to-date track or a musical note icon for files in the database that are not matched to one of your files. Colored triangles ranging from red (poor fingerprint match) to green (good fingerprint match) give the quality of the match between your files and the file information from MusicBrainz.
One of the nicest features of Picard is its ability to work with multiple albums at a time. You're still better off acquiring matches one album at a time, but you can accumulate multiple album matches and edit the tag information for each before applying all the tags at once. This makes working on a large collection of untagged audio files easier in Picard than with most of the other tag editors.
Picard is highly configurable. It is tightly integrated with MusicBrainz (the two projects are built by the same teams) but also includes support for plugins to access other Internet archives. A large number of plugins are included in the base program and integrate with a variety of external resources, including Last.fm, Google, Amazon, CastAlbums.org, and the Lortel Archives. Cover art can be embedded in music files or saved in the album directory. Filenamess can be set from or used to gather tag data through the use of a built-in scripting language.
With all the good, there is some bad for Picard. If you use a workspace manager and have Picard in one workspace but your browser in another (as I do) then every time you switch workspaces Picard's directory browser tree returns to the root directory. This means you have to navigate back to the folder where your music is every time you switch workspaces, which is extremely annoying.
I couldn't get Picard to add genre tags. And while Picard is designed around searching and clustering multiple albums at a time, the fingerprinting process and matching across the Internet is very slow.
Picard's drag and drop features give you a little more direct control than the other tag editors to apply matches and tags while also allowing multiple album editing. But in general I found Picard to be slower and less accurate with its matching than some of the other taggers. Its best use is as a initial tag editor for large collections that have no tags at all. Further editing on individual files will probably be faster, more complete, and possibly more accurate using one of the other editors.
Ex Falso supports file renaming based on tag fields but there is little information on what tags can be used. A separate tab in the main window allows editing and previewing the filename format. A similarly formatted tab can be used to map from the filename to tag information.
Ex Falso provides a typical directory tree browser. Once you select an album directory, all songs in that directory are displayed in the Songs pane of the main window. Online documentation says that external plugins are supported, though information on finding and using plugins is scarce on the Web site. Automated searches are integrated with Google, Wikipedia, and CDDB via plugins, but you have to manually enable their use. Right-clicking on selected songs opens a menu that performs the searches -- but none of these searches worked with the version of Ex Falso I was using. For this reason, I cannot recommend this tool for tag editing.
In each of these editors, audio file tagging took quite some time to complete, likely because the tag information has to be prepended to each file, and that typically requires reading the entire audio file.
For tagging large numbers of files in a mostly automated process, start with Picard, based on its ability to queue up multiple albums for processing in an intuitive manner.
Kid3 offers multiple options for automated matching, and makes the process easy, once you learn to navigate the UI and to experiment with different Internet resources to acquire tag information.
But the best of breed designation has to go to EasyTag. Its only real drawback is that it doesn't queue up multiple albums for tag processing in batch while you wander off to eat dinner. But it was faster and better at finding exact matches for non-mainstream albums such as classical and holiday music and soundtracks than most other tools. It also automatically provided genres for albums and offers users the ability to manually edit a larger variety of tags than most of the other editors. Its UI is intuitive and easy to navigate. It also happens to be one of the older and more stable editors around.