by David Pardue (kalwisti)
If your digital music collection is similar to mine, the music files are haphazardly tagged with various degrees of completeness. Some files may lack informative names and cover art; others may have misspelled track titles or incorrect genres. To better organize your collection, specialized audio tag editors allow you to add and/or edit metadata. Metadata lets information about the audio file -- such as Title, Artist, Composer, Album, Genre, Year -- be stored in the audio file itself. (These core tags are popularly known as ID3 tags).
Puddletag is a simple yet powerful, Qt-based music tag editor that uses Python 3 and PyQt5 (for the GUI). Under the hood, the application uses Mutagen, a Python module which handles audio metadata. Puddletag is an alternative to EasyTag, the oldest and perhaps most commonly used tag editor.
Puddletag is a mature project with a fourteen-year track record. It was first released in July 2008. The original developer, known by the Internet moniker concentricpuddle, is now assisted by a group of developers which includes Sandro Tosi (a computer scientist from Italy) and Corubba (Germany). The program has been translated into French, German, Dutch, Spanish, Portuguese (Brazilian), Czech, Swedish and Russian. The version in the official PCLinuxOS repository is 1.2.0 (released in November 2016).
Puddletag is a Linux-native application that has a user interface similar to the popular Windows freeware program Mp3tag. Its most distinctive feature is a spreadsheet-like layout for tag editing. This design allows you to copy and paste one (or more) fields from one file across many, select all tags in a tag column, edit one and then have it cascade through the selection. The layout also makes it easier to spot problems or untagged elements.
The usual tag editor features, such as extracting tag information from filenames, renaming files based on their tags by using patterns and basic tag editing, are supported.
Then there are Functions, which can do things like replace text and/or trim it, do case conversions, etc. Actions help automate repetitive tasks. Integrated web searching via MusicBrainz, Discogs.com, FreeDB and Amazon is also possible.
Supported formats include the following: ID3v1, ID3v2 (.mp3), MP4 (.mp4, .m4a), VorbisComments (.ogg, .flac), Musepack (.mpc), Monkey's Audio (.ape) and WavPack (.wv).
This screenshot shows Puddletag's basic layout, with the contents of my /Music/Art Blakey folder open, as well as the Tag Panel (in the upper-left quadrant) for the highlighted track:
If you find the Tag Panel distracting, you can dismiss it by clicking on its Close button, or by going to the Windows menu and unchecking/deselecting the Tag Panel option.
Puddletag can use a "manual" method for adding ID3 tags to your music files, or a "semi-automated" fashion. That flexibility is welcome because you will not always succeed in retrieving metadata for your albums from Puddletag's integrated Tag Sources.
Retrieving Metadata from Integrated Tag Sources
Puddletag streamlines metadata searches by serving as a gateway to several online music databases. This will save you time by populating empty tags and retrieving cover art for your music collection. You choose your desired database via the Tag Sources window. In version 1.2.0, these Tag Sources are included: MusicBrainz, Discogs.com, FreeDB and Amazon. (The program's current release -- ver. 2.2.0 -- includes the aforementioned databases plus AllMusic.com). Based on my testing of the app, MusicBrainz was the most dependable/reliable Tag Source.
I will summarize these sources, since not all readers may be familiar with them.
FreeDB: The granddaddy of online music databases, it played a key role in the history of music digitization. Its name was synonymous with the ability to rip an audio CD. FreeDB was a community-generated database of strictly CD music metadata. It was established as a free alternative to the proprietary CDDB ['Compact Disc Database'] owned by Gracenote, Inc.
FreeDB was shut down in March 2020. However, the database was extracted and found a new home/host at gnudb.gnudb.org. The database currently contains 4.7 million entries.
Unfortunately, FreeDB search capability does not work in our older PCLinuxOS version because its setting cannot be configured via the user preferences. It can only be changed by altering the source code. So this value (from 2016) is querying the defunct FreeDB address, rather than the current one.
MusicBrainz: MusicBrainz has almost all the FreeDB database imported, plus it has added more entries of its own. The resulting data set is typically of higher quality than FreeDB. MusicBrainz covers all kinds of recordings / releases with unique IDs; therefore, you will find separate entries for vinyl LPs as well as country-specific releases (e.g., US, Japan, Germany, etc.). MusicBrainz metadata often includes album cover art.
(As an aside, MusicBrainz has its own file tagger software -- called Picard -- that can access the MusicBrainz database to locate metadata to embed into your music files. Picard is available in the official PCLinuxOS repository).
Discogs: Discogs is a database with information about audio recordings -- including commercial releases, promotional releases and bootlegs. Although its original goal was to be the most comprehensive database of electronic music, Discogs now includes releases in all genres. Discogs also has a Marketplace feature to facilitate sales between music sellers and buyers. (It is similar to eBay in that Discogs does not sell anything directly; interested purchasers buy from individual sellers via the platform).
Amazon: Accessing Amazon metadata is not a realistic option, in my opinion. You must create an Amazon Associates account with registration for the Product Advertising API. In addition, your Associates ID must have periodic sales to keep the key active. Otherwise, Amazon will close the account.
It is a fairly straightforward procedure to retrieve metadata via MusicBrainz. First, open the Tag Sources window. Go to the Windows menu, and select/tick the Tag Sources option. Second, choose MusicBrainz as the Source database to search. Third, select/highlight a row of your music file. Fourth, and finally, click on the Search button. In the example below, I am searching for metadata on singer Cesaria Evora's album, Cabo Verde:
Now, select the correct album metadata from your retrieval list.
Tag Sources are album-based rather than track-based. However, you can choose individual tracks from an album). Click on the Write button. (Puddletag will not write any metadata retrieved from the Tag Source until you instruct it to). Puddletag can retrieve cover art, if it is present in the metadata. Click on the wrench icon to the right of the Source box.
Next, select / tick the Retrieve Cover option and then click the OK button.
Adding Cover Art Manually
If your Tag Source lacks cover art for some reason, it is simple to add it manually.
First, do a web search for the album artwork and save the image(s) to your PC. This article suggests some good sites to explore.
Now, select/highlight a row of your music file. Type Ctrl+E to access the Extended Tags dialog. A pop-up window will appear. In the right pane of that window, click on the green "+" [plus] sign.
Navigate to your downloaded image file, select it and click on the Open button. Make a selection from the Type drop-down menu -- you probably want to choose Cover (Front) -- and click the OK button.
Click on the Save icon [a floppy diskette] in the main toolbar, or type Ctrl+S, to finalize this change.
A Note on Puddletag's Flatpak
The most recent version of Puddletag, 2.2.0 (released in July 2022), is available on Flathub. Although I was able to successfully install the Flatpak on my PCLinuxOS system, I was disappointed that none of the online music databases/Tag Sources worked. When I tried to search, the app would throw error messages. I was unable to troubleshoot this glitch. Since metadata searching is an important feature to me, I uninstalled the Flatpak and went back to using ver. 1.2.0 from our official repository. (Another factor in my decision to delete the Flatpak was its huge size; after installation, it occupied nearly 5GiB of disk space).
Current development activity on Puddletag has shifted over to GitHub. Nevertheless, there are several mini-tutorials (with screenshots) available on its previous website.
If you prefer video tutorials, the most helpful one I found was created by user ProfessorKaos64. Although the version he uses is older -- it is likely ver. 1.0.1 or 1.0.2 -- the features that he demonstrates have not changed since 2012 - 2013.
If you are looking for an alternative to EasyTag that is Qt-based, Puddletag is an attractive option. Puddletag's distinctive spreadsheet-style GUI is a bit unfamiliar if you are accustomed to EasyTag's interface. However, it works well out of the box and if you only need to do the basics -- such as tagging and adding cover art to your music files -- you will soon feel at home with the program. If you are willing to delve deeper into its documentation, Puddletag's powerful bulk-editing capabilities become more apparent. I saw a comment from a Reddit user that Puddletag was able to easily handle 50,000 - 60,000 tracks in bulk tagging operations.