Picard is a cross-platform (Linux/Mac OS X/Windows) application written in Python and is the official MusicBrainz tagger. A tagger is software that allows you to attach metadata (such as artist name and track titles) to a media container (such as a CD or DVD) in a music database (such as MusicBrainz).
- CD lookup and disc ID submission
- Album oriented approach
- Extensible via plugins
When one rips, one copies media data (e.g., encoded sound) from a container to one's own filesystem, typically creating directory/folder and file names based on container metadata. For example, for a CD of a music album, one may create
- a directory with a name matching that of the creator(s) of the album
- under that a directory with a name matching that of the album
- under that, one file per track on the album (with the filenames matching the track names)
One could type all that manually, but the process is much easier when one's ripper (e.g., abcde) automatically retrieves that metadata from one's music database. For that to happen, the database must already have the metadata for the album you are ripping. Unfortunately, that will not always be the case, particularly with less-well-known recordings, producing results like
$ date ; abcde -c ~/.config/abcde/abcde-MP3.conf ; date Mon Apr 13 18:46:31 EDT 2015 Use of the encoding pragma is deprecated at /usr/bin/abcde-musicbrainz-tool line 15. Grabbing entire CD - tracks: 01 02 03 Use of the encoding pragma is deprecated at /usr/bin/abcde-musicbrainz-tool line 15. No Musicbrainz match. ---- Unknown Artist / Unknown Album ---- 1: Track 1 2: Track 2 3: Track 3 Edit selected CDDB data? [y/n] (y):
At this point/prompt, you have 3 options:
Enter n: this will rip the audio from the container to your filesystem without metadata. This causes problems at playback time: you won't know what you're playing until you play it.
Enter y: this will launch your $EDITOR so you can enter the metadata manually. This will be good for you, but useless for the next person who tries to rip that album.
Hit Control-c to exit, and then enter the metadata into a public database (like MusicBrainz) using a tool that can communicate with that database (like Picard). This is the morally correct option You are only able to rip other containers relatively effortlessly because other people in the past made the effort to publish the metadata from those containers; now it's your turn.
To install Picard on your computer run following command as root:
aptitude install picard
Your Picard metadata-entry session will typically seek to add a *Release* (what MusicBrainz calls a particular CD or DVD), and will typically go as follows:
Ensure your workstation can access the CD for which you want to add metadata (e.g., load it in the attached drive). Picard will need its disc ID to match metadata to CDs in future: e.g., so that abcde can look it up.
In your shell/terminal, start the Picard GUI: e.g., picard &.
In the GUI, hit button=CD Lookup near the top right of the GUI.
This will popup a dialog=CD Lookup with a listbox. Since MusicBrainz previously failed to return results to your ripper, that listbox will almost certainly be empty. Click button=Lookup manually.
This will launch an instance of your default web browser with a complex/varying web UI, but the tab or window title will be Lookup CD.
If your default web browser is Firefox, you may wish to create a lightweight profile (i.e., without many plugins or saved tabs/windows) specifically for running from Picard.
Try searching for information about your release or its artist. Given that MusicBrainz previously failed to return results to your ripper, your search will probably fail, but you will eventually get a webpage with a button=Add a new release: click that.
Enter metadata for your release: this will involve several screens. Eventually you will be able to save your metadata. If you're unsure how to format your metadata (i.e., how to map what's on the cover of your CD into the various fields wanted by MusicBrainz), consider consulting the official MusicBrainz Style Guidelines.
Unless you're entering metadata for more releases, exit the launched web-browser instance (with, e.g., Control-q).
Unless you're entering metadata for more releases, exit Picard (with, e.g., Control-q).
Tips and tricks
MusicBrainz very much prefers for you to add (to your new Release) previously-defined Artist metadata. If you are adding a new Release and cannot add the Artist you want,
Cancel out of your current web session. This will put you to the MusicBrainz homepage.
From the horizontal menubar at page top, choose Editing > Add Artist.
- Add the desired artist, and save. This should put you to the page for your new Artist.
From the vertical menubar at page right, choose Editing > Add Release.
Resume adding your Release: you should now be able to add your Artist to your Release ... but possibly not immediately. MusicBrainz may require some time to write your Artist to its database; if this is the case, you will notice the website will fail to match your Artist when you are adding your Release. If this happens, ...
- ... find something else to do for a few minutes: the problem is (in my personal experience) always resolved within an hour.
- Resume adding your Release: you should now be able to add your Artist to your Release.
- Lowercase filenames with undescores
$lower($replace(%albumartist%/%album%/$num(%tracknumber%,2) %title%, ,_))
- Remove "feat." from filenames
- Remove "various artists" from compilation filenames
$if($and($eq(%compilation%,1), $eq(%albumartist%,Various Artists)), $unset(albumartist) $unset(albumartistsort))
Picard has support for third party plugins, such as album art downloader, additional search options, etc: see this page. To install plugin files, download them to a ~/.config/MusicBrainz/Picard/plugins/ directory (creating the directory first if necessary).
http://musicbrainz.org/doc/PicardTagger - Picard homepage
http://wiki.musicbrainz.org/PicardPlugins - Picard plugins
http://wiki.musicbrainz.org/Picard_Scripting - Picard scripting