Move "Featuring" from Artist to Title

Never mind.
I’m sorry to bother you.
I'll try to search. but if I can't get the key, I'll ask to you again and wait because you are genius in script. :slight_smile:

have you seen my edit of my answere before?

Hey Guys,

i know that this is an older story but i'm now having the same problem/question but i want to have just the title and by the interpet i want to have the features. Simply converse.

And before i try something wrong i wanted to ask you. I hope you know what i mean and you can help me.

Thanks a lot.

To be honest: I do not know what you mean.
To make it easier to answer it would help, if you gave examples that are as exact as possible showing the source and that what you want to achieve.
Because otherwise: how is anyone to tell whether there is something wrong.

Hey,

realy nice that you answer that fast.

Well as you wanted some examples.

Some songs are displayed (i just call the important column)

Title Artist
Rain Man: Las Vegas Hans Zimmer feat. Lisa Gerrard

and some are displayed like that:

Title Artist
Rain Man: Las Vegas feat. Lisa Gerrard Hans Zimmer

Now i want to teg all my songs like the 1. example. Is that possible?

Actually, you can find out the solution using the trick from post #2 in this thread.

To avoid side effects .... set ...
Filter: TITLE MATCHES "[[({<]?\s*(?:featuring|feat\.?|ft\.?).+?[])}>]?" AND NOT ARTIST MATCHES "[[({<]?\s*(?:featuring|feat\.?|ft\.?).+?[])}>]?"

The following proposal removes the sequence "featuring somebody" from TITLE and appends it to ARTIST, that means, the "featuring somebody" supplement will be swapped or exchanged from TITLE to ARTIST.
Additionally, different spellings and abbreviations of "featuring" will be replaced by the abbreviation "feat.".

Action: Guess values
Source format:
%ARTIST%$regexp(%TITLE%,'^(.+?)\s+[[({<]?\s*(?:featuring|feat\.?|ft\.?)\s*([^])}>]+)\>\s*[])}>]?(.*)$',' feat. $2$3+++$1',1)
... or ...
%ARTIST%$regexp(%TITLE%,'^(.+?)\s+[[({<]?\s*(?:featuring|feat\.?|ft\.?)\s*([^])}>]+)[])}>]?(.*)$',' feat. $2$3+++$1',1)
Guessing pattern:
%ARTIST%+++%TITLE%

From:
ARTIST=Bob Fuller
TITLE= ...
Las Vegas ft Annie Spider
Las Vegas ft. Annie Spider
Las Vegas feat Annie Spider
Las Vegas feat. Annie Spider
Las Vegas featuring Annie Spider
Las Vegas [ft Annie Spider]
Las Vegas (ft Annie Spider)
Las Vegas {ft Annie Spider}
Las Vegas
Las Vegas [ feat. Annie Spider ]
Las Vegas ( feat. Annie Spider )
Las Vegas { feat. Annie Spider }
Las Vegas < feat. Annie Spider >
Las Vegas [ feat. Annie Spider ] [INSTRUMENTAL]

To:
TITLE=Las Vegas
ARTIST=Bob Fuller feat. Annie Spider
... resp. in the last case ...
ARTIST=Bob Fuller feat. Annie Spider [INSTRUMENTAL]


The following proposal removes the sequence "featuring somebody" from ARTIST and appends it to TITLE, that means, the "featuring somebody" supplement will be swapped or exchanged from ARTIST to TITLE.
Additionally, different spellings and abbreviations of "featuring" will be replaced by the abbreviation "feat.".

To avoid side effects .... set ...
Filter: ARTIST MATCHES "[[({<]?\s*(?:featuring|feat\.?|ft\.?).+?[])}>]?" AND NOT TITLE MATCHES "[[({<]?\s*(?:featuring|feat\.?|ft\.?).+?[])}>]?"

Action: Guess values
Source format:
%TITLE%$regexp(%ARTIST%,'^(.+?)\s+[[({<]?\s*(?:featuring|feat\.?|ft\.?)\s*([^])}>]+)[])}>]?(.*)$',' feat. $2$3+++$1',1)
Guessing pattern:
%TITLE%+++%ARTIST%


The following proposal sets the abbreviation "feat. somebody" into round brackets in the target field, giving "(feat. somebody)".

Action: Guess values
Source format:
%TITLE%$regexp(%ARTIST%,'^(.+?)\s+[[({<]?\s*(?:featuring|feat\.?|ft\.?)\s*([^])}>]+)[])}>]?(.*)$',' (feat. $2$3)+++$1',1)
Guessing pattern:
%TITLE%+++%ARTIST%

DD.20120708.2030.CEST
Edit.DD.20120728.1616.CEST
Edit.DD.20131029.0900.CET

Thanks for your answer.

I'll try it and give you soon a reply if it work.

  • Edit: It doesn't work. I tryed your idea and the idea from the other topic. Both didn't work. -

"It doesn't work" is just a bad result for you, especially because it works fluently here using your example data.

My proposal works with ...

  • brackets from the set "[({<>})]" or with no brackets at all
  • words "ft","ft.","feat","feat.","featuring" in lower or upper or mixed case.

Please try again.
To avoid spelling errors use clipboard copy and paste and transfer the Mp3tag scripting expressions from this thread post #28 into the related Mp3tag dialog edit box.

At first try out the filter expression. Does it display only the fitting files?

Then select one file from the filtered list and try out the action "Guess values" as described.

If that does not work, then your situation has likely some other circumstances than you have initially reported.

DD.20120708.1313.CEST

I don't know why but now it realy works :smiley:

I just checked one song but i think if it works at one song it'll works at all.

Thank you much for helping me.

Just one more question about this tagging: is it possible to do this with all my libary at one turn or won't this work?

  • Edit: okay i got 2 more questions :wink: The second one is: is der a way to tag all those featurs to the same looking. That you can't see "feat. / feat / ft. / (feat)...." and you just can see "feat."?

Well, it's your turn to check it out.
The force is with you ... as always ... the risk is with the user!

Better start with a small set of files.

DD.20120708.1428.CEST

It worked fine with my libary. Now all look much better!

Edit: okay i got 2 more questions The second one is: is der a way to tag all those featurs to the same looking. That you can't see "feat. / feat / ft. / (feat)...." and you just can see "feat."?

I have updated my proposal from today.
See there ...
Move "Featuring" from Artist to Title

DD.20120708.1827.CEST

That's realy nice. Now it realy looks perfectly.

Thank you very much, nice support! :slight_smile:

  • Edit: How i get this to work with the songs i have already tagged? Because with the filter they aren't shown to me and with "strg + all" and use the value it doesn't work!

Other cases need other solutions.
To find out how to use Mp3tag is up to you.

For example ... if you want to change the text string "featuring" by "feat.", then change it.

Mp3tag provides "converters" and "actions".
Mp3tag provides an action "Replace".
Mp3tag provides a function "$replace".
Mp3tag provides a configurable Filter, for example ... ARTIST HAS "featuring"
... and so on.
Read the manual.
Read the english and german FAQ areas within this forum.
Read other user's questions.
When you understand how to use the basics of Mp3tag, then you are invited to come back and ask how to do the expert things and tricks.

One day you do not say "it doesn't work", but "what can Mp3tag help to accomplish my idea?"

DD.20120709.0515.CEST

Can someone help me with an issue: I want the opposite regarding the script above:

What I have:
ARTIST: Yukmouth
TITLE: So Ignorant (feat. Kurupt, Nate Dogg & Kokane)

What I want:
ARTIST: Yukmouth feat. Kurupt, Nate Dogg & Kokane
TITLE: So Ignorant

It is possible to move "(feat. Kurupt, Nate Dogg & Kokane)" to ARTIST field WITHOUT parenthesis and even if "feat." is spelled with "F" or "f"?
Also I want if it's possible to move ONLY content between parenthesis that contains "feat."

  • example of wrong result:
    What I have:
    ARTIST: Yukmouth
    TITLE: So Ignorant (Intro)

What I get with the bad result:
ARTIST: Yukmouth Intro
TITLE: So Ignorant

please help me, I've searched for hours on this forum for an answer.

could you help me please, I'm a beginner with mp3tag.

I want convert:

Title: how long will they mourn me
Artist: 2pac feat. Nate Dogg

to....

Title: how long will they mourn me
Artist: 2pac
Comment: feat. Nate Dogg

Thank you!

You could have a look at
Split one tag into two fields

thanks but I have not so much experience in scripting. could you show me the way please. if I see a lot of brackets it is very difficult to see what there happens :smiley: thank you very much!

as the referred post does not show any brackets I doubt that you had a look at the link. Please check again.

Begin Action Group Test_2013#20131217

Action #1
Actiontype 7: Import tag fields (guess values)
Source format __: $replace(%ARTIST%,' feat. ',' feat. feat. ')
Guessing pattern: %ARTIST% feat. %COMMENT%
End Action Group Test_2013#20131217 (1 Action)

DD.20131217.2222.CET