Merge duplicate recordings between two editions of the same album with “mb. MASS MERGE RECORDINGS”

Tags: #<Tag:0x00007f7d02f66e50> #<Tag:0x00007f7d02f66b30> #<Tag:0x00007f7d02f668b0> #<Tag:0x00007f7d02f665e0> #<Tag:0x00007f7d02f66428>


Merges selected or all recordings from release A to release B

I think this is one of my oldest scripts.

You will often find within a release group, two editions of the same album which tracks link to duplicate recordings.
Merging recordings from those releases is very tedious to do manually.
This script lets you align local and remote tracklists and then it will do the merges for you.
You can either merge all or queue only specific tracks.
You can also match tracks by name and/or by artist credit (default is normal sequential tracklist order).
So it’s a help for the editor.

:warning: It can be a very destructive script, you have to understand what you are doing.
:warning: In particular you have to know what recordings to merge and not to merge.
:warning: Only merge when you are certain that two editions of an album contain the same tracks, for instance.

It’s also a very good help for the voters as it fills the edit note with all kinds of reviewing info like several similarity indicators, track context (release, track number, track name, etc.).
It can highlight problems with the merge edit (helps voting no) or give more confidence to vote yes.

Here is a demo (animated gif) that shows a MASS MERGE session starting from an RG merge review.

In this demo, you can’t see it but I have pressed Ctrl+Shift+m to invoke the MASS MERGE RECORDINGS window — you can alternatively simply click its button, a little bit down the release page right‐hand sidebar, to make it appear:

Some releases have a leading bonus track or other stuff like that, you can shift the remote release up and down with the drop down combo or with (up) and (down) arrow keys.
There are various indicators of similarity (track name, track length).

I hesitated long time before posting here because :warning: THIS SCRIPT IS VERY DANGEROUS :warning: as it does merge recordings — please use it very thoughtfully.


This script is absolutely fantastic, especially for cases where someone adds a different version of a release (CD vs digital or whatever) with different recordings, or when a CD is re-released as part of a boxset. It’s saved me dozens of hours since I first installed it, and it makes MB editing so much nicer. Praise jesus! :pray:


I’ve also been using this a LOT recently!
Without it I don’t even know if merging recordings would be a feasible idea for me!

I use it very differently to how you’ve done it in your gif though jesus (just manually doing it by pasting over the release url) so I’m going to have to have a close look and see how you’re doing it there


It sounds you do the same.
It’s just that I was working on more than two releases at the same time so the GIF begins with how I used mb. MERGE HELPOR 2 to sort the releases by order of oldest release MBID first.
Then I try second oldest release recordings, third oldest release recordings, etc.
It’s kind of a special case.

Usually it’s just like you said:

  1. Open release A
  2. Click sidebar’s green MASS MERGE button (or shortcut Shift+Ctrl+M)
  3. Paste release B’s URL.
1 Like

I agree, this is one of my favorites.


What happens to @derobert also happens to me so I try to check open edits after mass merge.
But the script, once migrated to web service mode, should visually compare both track and recording data.
This glitch usually indicates mislinked track to recording and should lead to medium edit instead of recording merge.

Great script, thanks. Is there a way to shift the alignment at both ends? For example, if I want to merge tracks 7–9 and 4–6 of this release into tracks 10–12 and 13–15 respectively of this release, can I do that with a few clicks of your script or do I need to do the 6 merges separately?

1 Like

I don’t know if you should merge those but, if so, you can:

  1. go to
  2. hit CTRL+M and paste
  3. press down arrow key 4 times to align remote tracks 7,8,9 with local tracks 10,11,12
  4. click their 3 Merge buttons (without waiting the end of previous merge, each click is queued)
  5. after 3 merges, press down arrow key 6 times to align remote tracks 4,5,6 with local tracks 13,14,15
  6. click their 3 Merge buttons (without waiting the end of previous merge, each click is queued)


1 Like

Ah, thanks – it was the ability to merge one track at a time that I’d missed (because I hadn’t properly read your explanation above).

1 Like

For all non-English users who may wonder why the hell this script isn’t working: Change the language to “English” and the button may magically appear… :wink:

1 Like

Yes, sorry for that, it’s very bad… :bowing_woman:


An EXCELLENT time saver. Thank you for creating this. I have been putting off using scripts for a while, but this is so easy. (well, once the GUI is understood)

I thank you for that video clip. An excellent manual as we can see how you use it.

For anyone else scared of trying this… don’t be. Everything is put in the MB Edit system as normal so if you make mistakes, just cancel the edits and try again.


Phew, am I glad I decided to check here before I started merging some stuff, it’s such a giant hassle to fix that stuff manually.

Also hi.


Hi @Kilu and @IvanDobsky.
You can always test it against where your edits will not alter the live database.
You can log in over there, the password is just “mb” without the quotes. :slight_smile:

The main issue of this script, the error I make most often with it, the thing that editors should pay attention to, is that it does not check the recording lengthes. It only checks the track lengthes.
So when there is mis‐attributed track‐reocording, I don’t see it.
I have to go to pending edits to spot this mistake but most often it’s voters who tell me (thanks @paulakreuzer @drsaunde and co.), which is a shame. :blush:


I like this fact. The more a human double checks a script the better. It was partially due to this script that I could spot that the last track on CD1 was actually two tracks in one. (As well as @paulakreuzer’s quick eye for detail)


Is this working for others? On Chrome, it is getting stuck at “fetching recordings…”.

I tried to install with greasemonkey on Firefox, and no matter what source I use (tried Greasyfork, OpenUser, and Github), I get this message: “User script failed to install: undefined”

Update: The Greasemonkey problem seems to be with Greasemonkey or Firefox. I finally got it working with the 32 bit version of Firefox, for some reason with the 64 bit, Greasemonkey wasn’t working at all. Anyway, guessing this might be related to the changes in Chrome for user scripts?


It still works on the main (non-beta) site for me. (It doesn’t work on beta.)


@psychoadept I used it a few times yesterday in Chromium based Vivaldi via Greasemonkey. But I too don’t use the beta site.

Edit: Just been on the normal server, and the loaded up fine when I did a test. I then stayed on the same release and flicked over to the beta server. Now it stalls in the manner you describe. “feting recordings…”

Maybe something about the beta layout has changed and confused the script? I do find the scripts can be a bit odd at times for me. Something makes the whole page stall during loading. And this seems slower still on the beta today. (I need to find out how to debug scripts so I can see what it waits for)

Nice catch. Confirmed, if I switch to main site it works again.

I will fix it when the MBS change comes to main site.
It is not surprising that I regularly have to fix as long as I scan the release page instead of the more stable release web service.

I have now fixed this with version 2019.4.24.
Thanks for noticing (I don’t use beta). :slight_smile: