MusicBrainz Pseudo-Release Plugin ================================= The `mbpseudo` plugin can be used *instead of* the `musicbrainz` plugin to search for MusicBrainz pseudo-releases_ during the import process, which are added to the normal candidates from the MusicBrainz search. .. _pseudo-releases: https://musicbrainz.org/doc/Style/Specific_types_of_releases/Pseudo-Releases This is useful for releases whose title and track titles are written with a script_ that can be translated or transliterated into a different one. .. _script: https://en.wikipedia.org/wiki/ISO_15924 Pseudo-releases will only be included if the initial search in MusicBrainz returns releases whose script is *not* desired and whose relationships include pseudo-releases with desired scripts. Configuration ------------- Since this plugin first searches for official releases from MusicBrainz, all options from the `musicbrainz` plugin's :ref:`musicbrainz-config` are supported, but they must be specified under `mbpseudo` in the configuration file. Additionally, the configuration expects an array of scripts that are desired for the pseudo-releases. For ``artist`` in particular, keep in mind that even pseudo-releases might specify it with the original script, so you should also configure import :ref:`languages` to give artist aliases more priority. Therefore, the minimum configuration for this plugin looks like this: .. code-block:: yaml plugins: mbpseudo # remove musicbrainz import: languages: en mbpseudo: scripts: - Latn Note that the `search_limit` configuration applies to the initial search for official releases, and that the `data_source` in the database will be "MusicBrainz". Nevertheless, `data_source_mismatch_penalty` must also be specified under `mbpseudo` if desired (see also :ref:`metadata-source-plugin-configuration`). An example with multiple data sources may look like this: .. code-block:: yaml plugins: mbpseudo deezer import: languages: en mbpseudo: data_source_mismatch_penalty: 0 scripts: - Latn deezer: data_source_mismatch_penalty: 0.2 By default, the data from the pseudo-release will be used to create a proposal that is independent from the official release and sets all properties in its metadata. It's possible to change the configuration so that some information from the pseudo-release is instead added as custom tags, keeping the metadata from the official release: .. code-block:: yaml mbpseudo: # other config not shown custom_tags_only: yes The default custom tags with this configuration are specified as mappings where the keys define the tag names and the values define the pseudo-release property that will be used to set the tag's value: .. code-block:: yaml mbpseudo: album_custom_tags: album_transl: album album_artist_transl: artist track_custom_tags: title_transl: title artist_transl: artist Note that the information for each set of custom tags corresponds to different metadata levels (album or track level), which is why ``artist`` appears twice even though it effectively references album artist and track artist respectively. If you want to modify any mapping under ``album_custom_tags`` or ``track_custom_tags``, you must specify *everything* for that set of tags in your configuration file because any customization replaces the whole dictionary of mappings for that level. .. note:: These custom tags are also added to the music files, not only to the database.