Help Renaming Title Tags


Firstly let me say that mp3tag is an amazing program that rivals any tagger out there - you guys have done a great job with it (Thank you!).

I am a professional DJ and always have to rename music I download from my pools.

The problem is retagging it. I have used my own action to get artists renamed how I like, however renaming title tags are MUCH more difficult as I encounter many different scenarios.

Would I would like help with are creating an action that can help me to rename some of the following examples:

Closer (The Knocks RMX / Short Edit)


Closer ((The Knocks Remix)) (Short Edit)

Feed Me Diamonds (Diggz Short Edit / Aca Out)


Feed Me Diamonds ((Diggz Edit)) (Short Edit - Aca Out)

Dont Stop (Jaceo Remix)


Dont Stop ((Jaceo Remix))

Who I Be (Clap) (DIRTY-Intro)


Who I Be (Clap) ((Intro - Dirty))

As you can see, it needs to be able to handle a WIDE range of strings that vary greatly (to some extent). I am new to using actions, so I'm sure you can see how this task can be overwhelming.

It doesn't have to be PERFECT, it just has to get MOST right (without really messing up the tags for the ones I have to do manually).

Essentially, here is how I rename the majority of my files:

TITLE (("Name Of Remix Artist" "Remix"))

i.e. Dark Beat ((R3hab Remix))

TITLE ((Intro - Clean))

i.e. Timber ((Intro - Clean))

TITLE ((Intro - Dirty))

i.e. Timber((Intro - Dirty))

TITLE ((Intro - Clean)) (Short Edit - Acapella Out)

i.e. Berzerk ((Intro - Clean)) (Short Edit - Acapella Out)

TITLE ((Intro - Dirty)) (Quick Hit)

i.e. Berzerk ((Intro - Dirty)) (Quick Hit)

There are always manual exceptions I make: sometimes Short Edit will be Quick Hit, sometimes Acapella Out will be Acapella in, Ect.

The majority of the information is in the file tags - as long as I get a base script (and how it works lol) I can adjust it to find the information I need!

I am willing to COMPENSATE anyone that can help me with this (a tip for your time and effort - I really do appreciate it!).

Thank you so much for your help ahead of time!!

Sorry, I cannot make out any kind of workflow in what you have written.

It is fairly easy to replace a " / " with ")) ("
It is fairly easy to swap two terms: Dirty - Intro -> Intro - Dirty: Replace WRE: (.) - (.) with $2 - $1

I do not know how to distiguish between the various edits: Diggz Edit with 2 brackets, short edit only with one ...

So the rest looks more or less random to me

Because it seems that all relevant data are already stored in the tag-fields, you may create new file names by using the content from the tag-fields directly.
There should be no need to assemble tricky a new filename out of particularly parts from the existing old filename.


Thank you for your response, much appreciated!

Maybe I provided too much information and overloaded you, I'll try to keep it simple.

Basically what I need to do for the action in the TITLE field is:

1.) find the first parenthesis, "("

2.) find the word "Remix"

3.) find the last parenthesis, ")"

Then the action script needs to rearrange the data.


Night Out (Jay Velar Whatever Remix Lots Of Extras)


Night Out ((Jay Velar Whatever Remix))

If there is a way to take out "whatever" in the above example, that would be great too! (but I don't see that being possible.)

The next action command needs to be able to locate a short or quick edit.

TITLE field:

1.) find the string "short edit" or "quick hitter"

2.) take the string and move to the end of TITLE.

3.) add parenthesis.


Feed Me Diamonds (Diggz Short Edit / Aca Out)


Feed Me Diamonds (Diggz / Aca Out) (Short Edit)

If I know how to do this, I can then modify the action to search for whatever I want.

So (in the above example), if I then apply the action a second time using "aca out" instad of "short edit", it would leave me with:

Feed Me Diamonds (Diggz / ) (Short Edit) (Aca Out)

I can then manually go in and fix it, but the majority of the work is done.

After I go in MANUALLY and fix it, the end result would be:

Feed Me Diamonds ((Diggz Edit)) (Short Edit - Aca Out)

I hope this clarifies things a little bit and I don't want to confuse you any further - maybe my previous post makes more sense now!

Thanks for your response!

That is what I've been doing for years now, however, as you can imagine re-tagging 10,000+ songs can be time consuming.

That's why I need help making an action script. Any action script that can save me just ONE step in my re-tagging process can save me HOURS!

So let us start to clear the situation using one example of yours.
You want to change the tag-field TITLE.
Feed Me Diamonds (Diggz Short Edit / Aca Out)
Feed Me Diamonds (Diggz / Aca Out) (Short Edit)
... by steps of ...
1.) find the string "short edit" or "quick hitter"
2.) take the string and move to the end of TITLE.
3.) add parenthesis.

Mp3tag offers several ways how to solve this task, for example:

  • converter "Tag - Tag"
  • action "import tag-fields (guess values)"
  • action "Format value"
  • action "Replace"
  • action "Replace using Regular Expression"
  • scripting functions from the function arsenal.

At first you can try out what you want to solve with an action by using the converter "Tag -Tag",
because there is a preview of the result,
and later on you can transfer the processing into an action.

Convert | Tag - Tag | ALT+5
Format string:

$regexp(%TITLE%,'^(.+?)\s(Short Edit|quick hitter)\s(.+?)$','$1 $3 ($2)',1)

Feed Me Diamonds (Diggz / Aca Out) (Short Edit)

This example can easily transferred into an action script.

Begin Action Group Test_2014#20140108.Modify TITLE

Action #1
Actiontype 5: Format value
Field ______: TITLE_NEW
Formatstring: $regexp(%TITLE%,'^(.+?)\s(Short Edit|quick hitter)\s(.+?)$','$1 $3 ($2)',1)
End Action Group Test_2014#20140108.Modify TITLE (1 Action)

While you are in the test phase, you should use as the target tag-field a temporary tag-field, for example TITLE_NEW or TEMP_TITLE or what you want.
Later on, when all changes have been done perfectly, you can copy the content of the tag-field TITLE_NEW to the tag-field TITLE, and then remove the helper tag-field TITLE_NEW.