[WS] Metal Archives

I honestly did not expect a reply from after 5 years. Thanks so much for coming back to me.

Yes, your Human Equation album example is what I mean about disc numbers.

With regards to the bonus track flag it's a tough one if you want to make the script useable by everyone. The three ideas I had were:

  1. Append the asterisk to the track title so it displays the same way as it does on Metal Archives.
  2. Append (bonus track) to any titles with an asterisk.
  3. Add a custom tag for bonus tracks (i.e. %BONUS TRACK%) and put the asterisk in there.

For my own personal use option 3 would be ideal as I usually process additonal track information into their own tag fields so I can reformat them to my liking. Since the script will probably be used by other people then I imagine option 1 would make the most sense and I can still pull that information out of the track title myself with mp3Tag or TagScanner.

Again, thank you for coming back to me :slight_smile:


1 Like

I would suggest to use the 3rd option too.
The first two options are much more complicated for users to extract this additional part.

With an additional tag like BONUSTRACK (please don't use a space in the tag name) everyone can use the content or delete it completely very easy.
Maybe some more specific tag name like METALARCHIVE_BONUSTRACK or MA_BONUSTRACK can help to identify the used source later.


Yeah, without a space would be better.

I also had a realization about disc number that I'm not sure how it could be handled.

The script seems to look at the first main release of an album and generate tag information from that. For the most part this is fine however some albums were released on vinyl or cassette before CD (or digitally) and Metal Archives lists side A and side B for these type of releases.

For example Kill 'Em All by Metallica

Looking at a multi-disc release that also has a vinyl version it seems Metal Archives does list these separately and I think I've found in the HTML where this is:

<tr class="discRow">
<td colspan="4">
Disc 1 </td>
<tr class="sideRow">
<td colspan="4">
Side A </td>

For example the 3-vinyl release of Live by Blind Guardian.

You can see they list Disc 1, Side A, Side B, Disc 2, Side A, Side B, Disc 3, Side A, Side B

I'm not sure how you or others would like to handle that. Since it does still list each disc on these releases the sides for the vinyl releases could technically be ignored or added to their own tag field if that's what people want. When importing tags from scripts mp3Tag does let you select which ones are imported so it probably doesn't matter if there are a bunch of extra tags that most people wouldn't want to add to their files.

In an ideal world the script would give the option to select a specific release from the 'Other Versions' tab to generate tags from but I imagine that would require a lot of work to implement!

1 Like

Hi @MilesMetal

Thank you so much for your reply, and for sharing what you have in mind regarding the bonus track tag.

After reading your comments, I completely agree with @LyricsLover about using an additional tag for storing the bonus track flag/indicator. Actually, that is also my preferred solution as it would keep the current script's behavior "untouched" (on how it retrieves, and stores the information - this to avoid impacting other users), while expanding it with the retrieval of new information.

As for the "Disc 1" / "Side A" thing, I was thinking on handling it similar to how (AFAIK) one of the Discog scripts handle it: retrieving the available data (either Disc# or Side#) and store it on the corresponding tag. But, I'll need to research further in it, as right now I've only a rough idea on my head about how to do it :sweat_smile:

And, yeah, it would be awesome to be able to retrieve the "Other Versions" data and select it from there (I think that would be very used full as well), but as far as I remember it is/wasn't possible due to how the data/information is pulled, and/or parsed (as it uses the current page being "displayed" by MA and on result page there's only the "main" release IIRC).

Nonetheless, I can take a look, in case that something has changed in these years.

Once again, thank you so much for your replies, and ideas.


1 Like

Regarding the other versions issue, does the script only work on exact match with the normal search or advanced search? I have seen other mp3Tag scripts that present the users with a list of potential matches that they can then select from.

Using the Advanced Search on Metal Archives you can search by format (in the Search by Album tab) but I wouldn't know if it's possible to implement in the script because you have to select specific types from the list of available ones, though in the search URL it does use the same text string that you would select from the list i.e. I selected 'CD' from the list here and you can see in the URL contains &releaseFormat%5B%5D=CD at the end.


If using the Advanced Search is compatible with how the mp3Tag Web Sources scripts work you could create a separate script for 'Albums by Format' and have the user manually type something in the mp3Tag prompt that matches something in that list - you'd probably need to put something in a readme about the exact things that can be entered. i.e.

  • CD
  • Cassette
  • Vinyl
  • VHS
  • DVD
  • Digital
  • Blu-ray
  • Other
1 Like

Haven't looked at code yet (will do this weekend), but I am pretty sure that it uses the normal search.

So, basically, it uses the results page, and then retrieves the information/results that are to be displayed on MP3Tag's results window, afterwards if goes to the selected result/album and start retrieving data again.

As for using the Advanced Search, that sounds pretty awesome, although I've never used that one - not even as a "normal" user through web :sweat_smile:. So, yeah, I'll taking a look at that one and see how compatible is with how MP3Tag works - especially when handling different versions of an album (as that could lead to a very long list).

Thank you for the suggestion!

P.S. That album that you shared before, The Boats of the Glen Carrig, is pretty awesome. I really liked it.

1 Like

Nice one!

The Advanced Search does have a results page too, though different to the one you see when using the regular search option.

I don't use it much myself either. In fact if I'm looking for specific releases for albums I generally use Discogs, but their tag data doesn't suit my needs as well as Metal Archives would (cover songs and bonus tracks on Discogs aren't labelled well - if at all).

And yeah, it's a great album! I think I prefer their debut a bit more. Funeral doom is a genre I'm only just starting to get into.

I look forward to hearing your findings - of course there's no rush!

Thanks again :smiley:

Hey, I hope I don't come across as nagging but I don't suppose you've managed to find the time to take a look at the script?

Hey there!

I'm so, so sorry for the late reply. Had a lot of stuff going on and for a while I forgot about this.

Yes, I had a chance a few weeks back to look at the script, and I think that, at least for the "Bonus" track thing I have something that (more or less) works.

So far, script is able to retrieve if a track is a bonus or not, and set it into a custom tag (which is based in other already existing tags), and it looks something like this (source):

Currently it is not pretty, but it gets the job done (I think lol) - also, currently I'm treating it as a (pseudo)boolean value where 0 = false, and 1 = true. But in any case, I would like to know if this is what you had in mind in first place.

Please note that the tag name is a temporal one (considering previous comments about naming, as well to have that tag somewhat aligned to how ID3 tags are named), as my lazy past-self just copied and pasted another existing MA custom tag lol (and at this point, I think that I should do the same to other MA tags, although I would like to have some feedback about in in case that someone else is/are using them in their workflows.

Furthermore, I'm planning to take some free time in the upcoming days to explore both the Disc Number issue, as well the release format/type.

Finally, I'm thinking in take this issues to the GitHub issue tracker to avoid "cluttering" this thread with these kind of replies/comments, but I'm not quite sure yet.

Anyway, please let me know your thoughts about those changes.


Thanks for getting back to me, and no need to apologise.

I think using the value of 1 when there is a bonus track is fine as I can change it to whatever I need through a tag editor. If it's possible it might be better to leave it blank or better not add the tag field at all if the track is not marked as bonus since otherwise most tracks would have an unnecessary field added. If it's not possible due to how the scripts work then it's no big deal as it's still easy enough for someone to remove them with a tag editor.

Excuse my ignorance but I'm not sure what you mean by a tag being temporal?

I agree about a Github repository. I don't mind taking this to private messages in the meantime if you'd prefer?

Hey there,

If it's possible it might be better to leave it blank or better not add the tag field at all if the track is not marked as bonus since otherwise most tracks would have an unnecessary field added.

Yeah, yesterday after posting my previous reply I did some changes as I had (pretty much) same idea as you (see picture below)... But I think that, right now, at best I can leave an empty tag, as I haven't found yet a way to not add that tag to those tracks that doesn't need it - however, I will continue trying to figure out that.

Excuse my ignorance but I'm not sure what you mean by a tag being temporal?

It was my lame way to say that current tag name is not intended to be the final one, it was just for testing purposes. Sorry for any confusion that my wording could have caused.

I agree about a Github repository. I don't mind taking this to private messages in the meantime if you'd prefer?

Yeah, I'll open a new issue on scripts repository later today, just to keep track of these changes there. Will update this comment (or most probably add a new reply) with the link to that issue.


P.S. Github Issue has been submitted - cc. @MilesMetal

1 Like

A post was split to a new topic: Add genre to folder name for metal bands

hi, would it be possible to have a script with a url search?
example: Metal_Archives_URL.src

PLEASE :cry:

Hi all.


  • Fixed an issue that was breaking how Additional Info was being retrieved/saved due to some changes on source HTML.
  • Added script to search by URL (thanks @MONIKADAVRE for the suggestion)
  • Added changes on all scripts to:
    -- Add a flag when a track is a bonus track (METAL ARCHIVES BONUS)
    -- Add Disc Number on all tracks (when/if applies[1] Now it has a default value (1) even if there's no Disc # defined on Metal-Archives album page)

(those changes based on @MilesMetal inputs - my apologies Mr. Miles for the delay.)

All of those changes can be found on GitHub repository.

That being said...

Apologies for the late, late reply. IRL stuff isn't always as nice as we would like, and well, you know how it can be.

In any case, I'll try to be more active as things are slowly going back to normal.

  1. This due to how source HTML can be provided, as required tag is not always present. A potential "default" action could be to always add "1" as disc number when none is present, but honestly I just had that idea while writing this, sorry. ↩ī¸Ž


Thanks for the update! I'd honestly thought you may have forgotten about this but I didn't want to pester you about it.

Looking forward to seeing how the script turns out in the end! :smiley:

1 Like

Thank you sir!

Currently I think that the features that were discussed last time are working as expected (based on the different tests that I did during implementation).

Please let me know if you (or someone else) have any comments/observations/questions.


Hi all!

A new update

v20140218 (yeah, this is new, as I need to have some kind of internal control lol)


  • Added "Band Info" script. See additional info below.


  • Minor issue while retrieving data from "Additional Notes" tab that was causing that "Recording Information" and "Identifiers" sections weren't properly separated from previous sections resulting in a big text block.
  • Issue while retrieving "Lyrical Themes" (tag "METAL ARCHIVES LYRICAL THEMES") on "Band Info" script.
  • Issue while retrieving "Release date" information from album (tag "METAL ARCHIVES DATE") when original data only contained year, month, or both (e.g., "October 1996", "1999"). See additional info below.


  • Some destination custom tags (i.e., those without a native ID3v2 tag) on "Band Info" script have been renamed to have them in same "standard" as the ones used on other scripts (i.e., those with "METAL ARCHIVES" as prefix).
  • Case in some custom tags to make them follow the "standard" mentioned on previous point, going from Camel Case to UPPER CASE.

Additional info:

  • Band Info script:

As this script needed an update due to changes on how Metal Archives' source HTML, I decided to include this script on repository to keep a proper track of further changes and whatnot. Nonetheless, I am attaching script's previous version (without renamed tags) that only includes the required change to properly retrieve the "Lyrical Themes" data, yhis is to prevent breaking any workflow that could be using current tag name ("Lyrical Themes").

Please note that for my local environment I've renamed this script as "Band Info (Legacy)" to avoid confusions with the one added into repository. If required, please rename it as needed according to your own setup.

Also, at this moment I'm not quite sure if I'll keep updating both versions, but at least I'll do it for next update (if any).

  • Release Date

For this one I noticed that when date wasn't "complete" (i.e., having a full date like "April 24th, 2000") script failed to properly set that value into corresponding tag due to some Regex operations made to retrieve that information.

For this, I did the following changes:

  • If a release only has a Year on "Release Date" field (e.g., 1996), default date will be "YYYY-01-01" (e.g., 1996-01-01).
  • If a release only has a Year and Month on "Release Date" (e.g., October 1996) field, default date will be "YYYY-MM-01" (e.g., 1996-10-01).
  • Otherwise data will be pulled as normal (e.g., 2024-02-18).

This was done in that way due to following reasons:

  1. I've yet found a way to implement a "switch"-like kind of statement, or function to properly retrieve the exact data (e.g., "1996", or "1996-10", using previous examples) to avoid needing to do some kind of mess in script's code (and potentially duplicate a some code on it). Unless then, this was the best solution that I could think of.
  2. I more or less based this solution on how .NET (specifically C#) defines default DateTime values (0001-01-01) as this is the programming language I am more familiar with. Nonetheless, I'm open to suggestions on how to improve this.

Me&tal Archives#Band Info (Legacy).src (3.7 KB)

Hi all,

Just a quick update:

There's a new version of the scripts as I have just found a nasty bug on how Release Dates are acquired. Issue is now fixed, and a hotfix pushed to repository.

My apologies for any inconvenience.