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.
Your Picard metadata-entry session will typically go something like the following:
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. 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).
To install Picard on your computer run following command as root:
aptitude install picard
Tips and tricks
- 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. To install them, downloaded plugin files should be placed under the ~/.config/MusicBrainz/Picard/plugins directory. This page provides variety of plugins for picard, such as, album art downloader, additional search options, etc.
http://musicbrainz.org/doc/PicardTagger - Picard homepage
http://wiki.musicbrainz.org/PicardPlugins - Picard plugins
http://wiki.musicbrainz.org/Picard_Scripting - Picard scripting