AcousticBrainz Mood-Genre Plugin


#1

I understand this is an experimental plug-in. Is there any way of keeping the Genre tag untouched, while allowing the plugin to add in the Mood tag?

I would imagine that the plugin could be modified to allow a configuration of which tag you’d like to write (like the last.fm one), otherwise though, is there a script or a setting that would retain the Genre from the MB DB?

Note: I have many tags to clean up, so I don’t necessarily want to preserve the tag. I just don’t want the plugin to overwrite it.

Also related to Genres and confusing me while trying to figure the above plugin out.
When I compare this release:
https://musicbrainz.org/release/4d90c45e-691e-4723-aaa2-26f576c7e64a?tport=8000

Picard shows the Genre as Pop (for all tracks), but looking at the album data there there is a variety of latin, rock, blues, etc… for the various tracks. I am wondering why this may be? Any Genre plugins are disabled, and Picard defaults are left in place (e.g. no folksonomy tags selected)

Apologies if this is covered elsewhere, I have searched as far as I can.

-N.


#2

Currently not, this would require the plugin to provide some options for it, yes. But sounds like a good idea to have.

By default Picard does not set any genre tag. You have to enable “Use folksonomy tags as genre”, then it should work.


#3

Thank you for your response.

I tried selecting the ‘Use folksonomy tags as genre’ (under Options - Metadata), with no change.
I also selected ‘Fall back on album’s artists tags if no tags…’ (under submenu of Metadata), again no change.
Other options also tried was the ‘Join multiple tags with - ;’ set and ‘Minimal tag usage at 1%’, again no change.

Regarding the plugin I copied the original zip (acousticbrainz.zip) and renamed it, then edited the python script (acousticbrainz.py) to remove the references to genre & genres - clearly this isn’t ideal and presumably will get zapped on next update;

**if k.startswith("genre_") and not v["value"].startswith("not_"):**

** genres.append(v[“value”])**

-and-

**metadata["genre"] = genres**

-and-

log.debug("%s: Track %s (%s) Parsed response (**genres: %s,** moods: %s)", PLUGIN_NAME, metadata["musicbrainz_recordingid"], metadata["title"], **str(genres),** str(moods))