MusicBrainz Picard/Documentation/Plugins/Lastfmplus

From MusicBrainz Wiki
Jump to: navigation, search

LastFMPlus - Extended Picard Tagging

How to tag your music files with Grouping, Genres, Moods, Occasions, Decades, Original Year, Categories and Custom tags

Heading3.jpg

The content here was largely originally writen and produced by RifRaf, the main author of the lastfmplus plugin. Due to unavailability of his personal site that this was originally hosted on, it has been ported to MusicBrainz's wiki by User:Voiceinsideyou. Attempts to contact RifRaf were made, but were unsuccessful. No attempt is being made to violate any of RifRaf's rights; merely to keep his plugin alive in the public domain.

Credits:

  • Luks - making the original lastfm plugin and most of Picard :)
  • RifRaf - making most of the lastfmplus plugin (major/minor, moods, categories, decades etc)
  • Partner - extending the options and gui and making it 'smarter'.
  • Numbr - adding the whitelist option.
  • voiceinsideyou - reviving it and making it work with Picard 0.15

This guide uses the following programs: All programs are free to use though please donate/buy if you find them useful.

  • Musicbrainz Picard - Mp3 tagging software and database to correct artist and albums.
  • lastfmplus Plugin for Musicbrainz Picard - lastfmplus plugin for genre and other tag collection using last.fm as source.
  • MP3Tag 2.4.3 - Great tagging software for checking results and making further changes.
  • MediaMonkey - Music player with great features for large collections.

While only Picard is required to tag the files its worth installing the other programs as parts of this tutorial use each program.

Installation

This plugin is designed for use with Musicbrainz Picard v0.15. To install download the plugin and extract the zipfile into your picard plugins folder. Unzipping in the plugins folder should create the lastfmplus directory for you.

By default the 2 files in windows would be:

C:\Program Files\Musicbrainz Picard\plugins\lastfmplus\__init__.py
C:\Program Files\Musicbrainz Picard\plugins\lastfmplus\ui_options_lastfm.py

When you open Picard and go to the Options menu and then Options you can enable the lastfmplus plugin. Reopen Picard, and return to the options menu and you you will see the lastfmplus options menu.

Updating: If you previously had the lastfm plugin installed or modified be sure to disable it in the plugins so only one genre plugin is active. If you are updating the script all the new options will take effect however your whitelists are not changed since they are stored in your systems registry. Use the Reload Defaults button in the lastfmplus options panel to load the new words from the plugin.

Options

The various options are explained here.

It is advised to try the script with the default options and then tweak it to your liking. Generally a test directory with a dozen or so differing albums to try with and then use mp3tag to look at the results in an easy way.

General Options

These set which tags will be written and how many of each.

lastfmplusoptions1.jpg

  • Join Tags With: This value is used as the separator for any string with more than 1 value.
  • Write remaining tags as Comment: If selected will create comment: tag containing all other tags. Good for seeing what else there is.
  • Maximum Major Tags: Set to 1 if using for file naming. Amount of Major tags contained in Comment:
  • Add Major to Minor Genre: Includes your major or grouping tags in the genre section as well so it appears when looking through genres in player.
  • Maximum Minor Tags: The actual Genre tags, set to 1 if your player does not support multi genre. 4 works for me with mediamonkey.
  • Maximum Mood Tags / Occasion Tags : If you wish for any of the tags to contain more than a single value then change the option. While Most players only like one tag in these field the option is there if you want to experiment.
  • Maximum Inter-Tag-Drop: These value decide when start to skip tags. For example, the previous tag had a tag-weight of 80%, the actual only 30%, so the drop between two tags is here 50%. If the Tag-Drop is bigger than the Maximum Inter-Tag-Drop then don't use further tag's.
  • Inter-Tag-Drop: These value decide when start to skip tags. For example, the previous tag had a tag-weight of 80%, the actual only 30%, so the drop between two tags is here 50%. If the Tag-Drop is bigger than the Maximum Inter-Tag-Drop then don't use further tag's.
  • Extend Track-Tags if needed: You can decide to extend Track-Informations if there are only few and bad track-informations for a specific Track.
  • Artist-tags weight: You can give here the weight of an artist tag in respect to a track tag. All Tags from the Artist are multiplied with this value. So if the value is smaller than 100% the weight of an artist tag became smaller. if the value is over 100% the weight of an artist tag became bigger.

Tag Filter Lists =

These configure the various whitelist entries and modifications

lastfmplusoptions2.jpg

There are 9 Possibilities to define white-Lists and translations.

Whitelist-Tags should be separated by an "," (comma).

Every Translation should be separated by a "new line".

In every line two tags should be separated by an ",", so <before>, <after>

ie:
translate the tag aggressive into the tag angry
aggressive, angry

Tags you delete or add to these lists will be saved for your own use. If you feel you have advanced the lists to a new level please post them into the Musicbrainz forum so they can be used in the next update.

This list of translations applies to all of the various tags modified.

Remember if you do not want to use any of these tags just set the maximum tag value to 0 in the first options page or delete the entries and nothing will get found

Picard Script for extra info in Comments tag (Musicbrainz Advanced Relationships):

Note: A plugin is now available to achieve the same result plus handling all performer tags without needing to specify them individually: see Copy to Comment.

This script will add a lot of Musicbrainz Advanced Relationships to the comments tag. If you are writing extra tags to the comments with this plugin it will only be overwritten if there are Advanced Relationships found. The Comments are broken into lines so that things like MediaMonkeys lyrics and comment viewer plugin can display them when listening to music. You may need to add this line to the script as detailed here. Fix Line Breaks If you find missing ARs let me know.

Picard Script: Paste the Following into Picard - Options - Advanced - Scripting if you want to try it out.

$if(%composer%,$set(comment:,$get(comment:)Composed by: %composer%
))
$if(%arranger%,$set(comment:,$get(comment:)Arranged by: %arranger%
))
$if(%conductor%,$set(comment:,$get(comment:)Conducted by: %conductor%
))
$if(%lyricist%,$set(comment:,$get(comment:)Lyrics by: %lyricist%
))
$if(%producer%,$set(comment:,$get(comment:)Produced by: %producer%
))
$if(%mixer%,$set(comment:,$get(comment:)Mixed by: %mixer%
))
$if(%remixer%,$set(comment:,$get(comment:)Remixed by: %remixer%
))
$if(%djmixer%,$set(comment:,$get(comment:)DJ Mixed by: %djmixer%
))
$if(%engineer%,$set(comment:,$get(comment:)Engineed by: %engineer%
))
$if($get(performer:vocals),$set(comment:,$get(comment:)Vocals Sung by: $get(performer:vocals)
))
$if($get(performer:vocal),$set(comment:,$get(comment:)Vocal Sung by: $get(performer:vocal)
))
$if($get(performer:guitar),$set(comment:,$get(comment:)Guitar Played by: $get(performer:guitar)
))
$if($get(performer:bass guitar),$set(comment:,$get(comment:)Bass Guitar Played by: $get(performer:bass guitar)
))
$if($get(performer:violin),$set(comment:,$get(comment:)Violin Played by: $get(performer:violin)
))
$if($get(performer:drums),$set(comment:,$get(comment:)Drums Played by: $get(performer:drums)
))
$if($get(performer:piano),$set(comment:,$get(comment:)Piano Played by: $get(performer:piano)
))
$if($get(performer:keyboard),$set(comment:,$get(comment:)Keyboards Played by: $get(performer:keyboard)
))
$if($get(performer:guest violin and viola),$set(comment:,$get(comment:)Guest Violin and Viola: $get(performer:guest violin and viola)
))

Viewing custom tags

With mp3Tag

The easiest way to check all the new tags especially when debugging seems to be with mp3tag. It can load up a folder full of mp3 and neatly show all the extra fields.

mp3tag-1.jpg

The quickest way to teach mp3tag about the new tags and get it to use them is to load up one or more of the newly tagged files in mp3tag.

Right click a file and go to Extended Fields. Find the new fields and highlight one and find the edit tag info button, click it and just click ok without making changes, do this with all the other custom fields.

This may seem a bit kludgey but the new fields will now be available in mp3tags drop list of extended tags.


We can now Go into the Customise Columns options and add the new tags and disable some that are just taking up room.

mp3tag-2.jpg

Right Click the Heading in one of the Columns and select Customise Columns.

Type a name for the Heading and then select the corresponding tag from the list of fields or extended fields.

Remember some of the extended tags may not appear in list till you have done the first step above.


The result after adjusting column width and turning on just the needed ones to view new tags and track info. A selection of 2 songs per album to demonstrate how it may tags your files with the default settings.
mp3tag-3.jpg

These are some of the Other Tags that are written if you select to write remaining tags as comment with the plugin. Good for researching new tags and values to use for other tags.
mp3tag-4.jpg

With MediaMonkey

Edit Options

First, edit your options to show tags with proper names:

mm-1.jpg

The first thing to do with MM is to setup the custom tags with better names. Go to Tools and then Options. In Options in Library Section you will find Appearance. Change the Custom tags to Look something like the image.

Ony check 'Show all track properties in tooltips' for debugging and seeing all the new tag info when hovering over files.

The Autorate Info or Custom 5 is used by another plugin and nothing to do with genre adding.

Note: Custom 2: is now also a free tag as original year is written directly to the proper id3 origyear tag recognised by both Mediamonkey and mp3tag.


Modify view

Then modify view to show extra details

mm-2.jpg


mm-3.jpg

Once you restart MM you can show the new tags. In the Show Details view right click one of the column headings and from the drop down list you can select any new tags you want to be displayed.

You should now be able to sort by the new fields in the details view.

If you press Shift Enter on a file or right click and view properties there will be at least some new information to view in the Classification section.


Album Detail View

In the album details view sorting by Original Year can sometimes get music sorted in a better chronological order as shown here deplaying both the Release date as well as the new tag for Original Year.

mm-4.jpg


Add MyCustomNodes to MediaMonkey

This will help you especially if you are using multiple tags for Mood and Occasion etc. Download and setup according to the directions here http://www.mediamonkey.com/forum/viewtopic.php?f=2&t=24846

Will add a custom ini file later when I finish it that will use all the new fields.

List of tags written


tag name tag type tag comment

grouping

Major Genre

Tag used by many programs, Major Genre, Major grouping such as Rock Pop etc

genre

Minor Genre

Genre tag used by most players. Breaks music into appox. 150 Minor Genres

mood

Album Mood

Mood tag fairly standard for players. About 75 moods

comment:Songs-DB_Custom1

Track Decade

Decade song was popular in

comment:Songs-DB_Custom2

Categories

Contains tags like Female Vocalist, Singer, Songwriter

~id3:TDOR

Track Original Year

Picard does not display tag, MM and mp3tag do. Is now correct tag to use.

comment:Songs-DB_Custom3

Artist Country

Artist or Band country

comment:Songs-DB_Custom4 (not used at moment) Other Tags Multi Genre Tag of Major and Minor genres

comment:

Combo Genre

All other tags derived from last.fm in relation to track and artist

comment:Songs-DB_Occasion

Track Occasion

Occasion for playing song for approx 65 occasions and other interesting tags


Any of the values can be changed by editing the code if you know python or just search for those tag names and change. As you can see if you write the remaining tags to comment:Songs-DB_Custom4 there is still possibility for expanding the script even more. The option of a blacklist or ignorelist has been removed because its no longer required.

Support and Help

Please use this topic in the musicbrainz forum.