A script to correct 'membranophones' and guitar/violin 'families'


I updated my script. (and created this dedicated topic for it)

What it does:

  • When it encounters occurences of ‘membranophones’, it will change them to ‘drums’.
  • When it encounters occurences of instrument ‘families’, it will change them to a plural version of these instruments.

It will not delete any tags from your existing files.

I believe this script can be useful until the moment that all existing ‘membranophones’ and ‘families’ entries are removed from MusicBrainz’s library.

A previous version of my script missed some ‘additional’ and ‘guest’ occurences, and if a recording contained more than one “membranophonist” (be it guest, additional, etc.), I think it would only write one of them.
(sorry about that)

Here is a new version that will change:

  • “membranophone” and “drums (drumset)” to: “drums”
  • “additional membranophone” to: “additional drums”
  • “guest membranophone” and “guest drums (drumset)” to: “guest drums”
  • “additional guest membranophone” to: “additional guest drums”
  • “guitar family” to: “guitars”
  • “guest guitar family” to: “guest guitars”
  • “additional guitar family” to: “additional guitars”
  • “additional guest guitar family” to: “additional guest guitars”
  • “guitar family and solo” to: “guitars and solo”
  • “violin family” to: “violins”

This is of course setup to some personal preferences, so feel free to use/edit/publish it any way you want.

Important note:
This script is giving me exactly the output and the results that I need for my music player/manager, in combination with using the Standardize Performer plugin for Picard.

If you are not using the Standardise Performer plugin, this script may not give good or satisfactory results.

Also in this case, feel free to change or publish it to accomodate for your own user case.

the script:

$setmulti(performer:drums,$get(performer:membranophone); $get(performer:drums (drum set)))
$setmulti(performer:additional drums,$get(performer:additional membranophone))
$setmulti(performer:guest drums,$get(performer:guest membranophone); $get(performer:guest drums (drum set)))
$setmulti(performer:additional guest drums,$get(performer:additional guest membranophone)))
$set(performer:guitars,$get(performer:guitar family))
$set(performer:guest guitars,$get(performer:guest guitar family))
$setmulti(performer:additional guitars,$get(performer:additional guitar family)))
$setmulti(performer:additional guest guitars,$get(performer:additional guest guitar family)))
$set(performer:guitars and solo,$get(performer:guitar family and solo))
$set(performer:violins,$get(performer:violin family))
$unset(performer:drums (drum set))
$unset(performer:additional membranophone)
$unset(performer:guest membranophone)
$unset(performer:guest drums (drum set))
$unset(performer:additional guest membranophone))
$unset(performer:guitar family)
$unset(performer:guest guitar family)
$unset(performer:additional guitar family)
$unset(performer:additional guest guitar family))
$unset(performer:guitar family and solo)
$unset(performer:violin family)

Drums vs. drumset