Drums vs. drumset

Tags: #<Tag:0x00007f30979990c0> #<Tag:0x00007f3097998f80>


“Correction bot for hire” sounds good. Good to hear there are discussions going on in them secret rooms.

I am just imagining other people who access this database and how odd this membranophone is going to be to them when trying to use the data.


Just a minor correction: There was no bot in place changing relationships. It was “just” a name change (and of course this affects all existing relationships).

But yes, a big +1 for getting a bot in place to fix this up. I have started correcting this for some drummers, but it is very tedious work. And seeing all those “performed membranophone” entries really hurts my eyes :smiley:


And hopefully the bot can also fix the musicians playing ‘families’ instead of instruments issue:


No secret rooms FWIW, our IRC channels are all open :wink:


The IRC channels are promoted almost everywhere the forums are; e.g.,

Additionally, both our channels (which both have more than a 100 users in them as I’m writing this) are logged and the logs are publicly available. Since it’s relevant to this topic, here are the logs from the talk @CatQuest, @reosarevok, and I had in #musicbrainz as well as the short summary of the same during last night’s weekly meeting in #metabrainz:


I only really visit MusicBrainz and this forum so finding the IRC channels is a bit hit and miss. Trouble is I am trying to visit here to relax around my music hobby and get away from the computers. :smiley:

Thanks @Freso for the links. Have read those chunks now.

When the @FresoBot has been updated, I would think it would be useful if you can have a “targeted mode”. Something that allows a whole Artist - either Band or Single person - to be targeted for “correction”. This would then allow a swap from “Membranononophone” to “Drum Set (drums)” for Rock bands.

And if a bulk rename happens, the same bot can help undo those bands who have accidentally become “Drum Set (drums)” instead of “drum”.

Maybe have a thread dedicated to “Instrument Corrections”. Then an artist or band that is spotted as being heavily wrong can be corrected quicker. This would also cover the issue @hiccup mentioned above where “guitar family” has slid into an artist.

When looking at Nirvana saw lots of worryingly loose “bass” entries too. This would be again handy if we can say "For the Band “Nirvana” change all entries of “Bass” to “Bass Guitar”. (I did see previous discussions on this topic too)

Human eyes will always be superior to a bot. So Human Checks are needed. Humans requesting the corrections seem important to me. The human should always have the last say. :slight_smile:


I should probably point out that wherever “membranophone” is listed using the “programming” relationship, the bot should probably replace those with “drum machine” rather than “drums (drum set)”.


… and the membraphone → drums change is possible with this script


And it works very nicely on a release-by-release basis, but with over 200,000 recordings featuring “membranophone”, it’s still gonna take a looong time.

BTW could you add ‘guitar family’/‘guitar’ as options as well? There are a more manageable number of those - though also, I would guess, even better targets for a bot-based cleanup.


If I get bored at the weekend I’ll have a look at that and see if I can learn how to run it. It will help my OCD on the bands I deal with. Even if there is eventually a bulk change to the database it would probably still be good to get as many corrected drum set (drums) in place as possible.


Added in version 2018.8.18


How about “violin family”/“violin”? I’ve seen that at least once.


Hello @CatQuest, are there any updates on this that you could share?


The accompanying ticket for this is https://tickets.metabrainz.org/browse/OTHER-329
we are waiting for this to be coded/worked on, after which things should be much in order.
afaik @freso is also waiting for something - I’ll let him explain that part.
We also want to conduct a poll to see which thing you all think is the best replacement; should blank credits be moved to “drums” or “drumset”. This poll will be made Soon™, right now everyone’s a bit busy with preparations for GCI, BookBrainz, and general stuff esp @reosarevok (as explained in the blog) and @freso (who’s the Lead Admin for GCI)


Does anybody happen to have a script that you can run on your present files that can replace the names of instruments? (and leave the performer related to it intact)

So that it is able to change names such as “membranophone”, or “drums (drumset)” to just plain “drums”, and “guitar family” to “guitars”?

(using the ‘Standardize Performers’ plugin, in case that’s important)


I have been playing around with this a bit myself, but I run into two problems.



seems to work, but it won’t remove the existing ‘membranophone’ tags from my files.
Is there a scripting command to remove it?
(without resorting to checking ‘clear existing tags’ in Picard)

Second problem:

When I try to use an identical script for “drums (drumset)”, Picard throws an error at trying to enter it.

$set(performer:drums,%performer:drums (drumset)%)

Surely that’s because of the parenthesis around ‘drumset’.
How to circumvent that?


Thanks to @outsidecontext I now have a script working for replacing an instrument name.

To avoid ‘instruments’ such as “membranophone”, and “guitar family” polluting your library, this seems to work:

$set(performer:guitars,$get(performer:guitar family))
$unset(performer:guitar family)
$set(performer:guitars and solo,$get(performer:guitar family and solo))
$unset(performer:guitar family and solo)

I would also like to have the script catch instances of both “membranophone” and “drums (drumset)”, and write either of them to “drums”, but I haven’t succeeded yet in getting them to work together.

Also, notice that the above script won’t remove existing “membranophone” or “guitar family” tags from your files.
(unless you have “Clear existing tags” enabled of course)


I might have succeeded in combining these. (and I added some ‘guest membranophone’ I encountered that wasn’t a guest at all)

This seems to work nicely for now:

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

I am not very versed in Picard scripting, so use this at your own risk, and feel free to comment, or propose any additions.

(updated, violin family > violins added)

Important note:

The script gives good results for me when using the Standardize Performers plugin.
Without it it might not result in what you are expecting/hoping for.


Nice work!

For the incorrect guest credits, did you also correct it at the source?


Thanks, no I haven’t.
Until now I have not been active in editing data/albums to MusicBrainz, so doing edits without having experience or focus at the moment seems like a bad idea.
I will probably try and become active with that the coming winter.
(and after the membranophone issue has been solved)


It’s good to be cautious in making changes to the database, but this would actually be a great place to start. It’s a minor change that’s easy to undo if there’s any disagreement. It might even be automatic, not sure.

Anyway, if it helps, I fiddled around with your script and determined that with Standardize Performers you can unset the solo and guest credits on their own.