Move "Featuring" from Artist to Title

[EN]:

Thanks for your fast respond. All I have are the filenames. No tag is filled yet. If I use your example, it is working nearly right, but there will be an apotstrophe left at the end of the filename.
[DE]:
Danke für deine schnelle Antwort. Alles was ich habe sind die Dateinamen. Die Tags sind nicht ausgefüllt. Wenn ich dein Beispiel nutze, dann klappt es soweit gut, allerdings bleibt ein Apostroph am Ende des Dateinamens.

Filename
3LAU, Paris & Simo - Escape (feat. Bright Lights) (Faraway Skies Remix)

Wanted filename
3LAU, Paris & Simo feat. Bright Lights - Escape (Faraway Skies Remix)

Any suggestions?
Irgendwelche Vorschläge?

/Edit: I just used to leave the apostrophe and everything is ok.

Old filname pattern
%1 - %2 (feat. %3) (%4) (%5)

New filename pattern
%1 feat. %3 - %2 (%4) (%5)

Before:
Daft Punk - Get Lucky (feat. Pharrell Williams) (Daughter Cover) (Pretty Pink Edit)
After:
Daft Punk feat. Pharrell Williams - Get Lucky (Daughter Cover) (Pretty Pink Edit)

I can only recommend to fill the tags - if the filenames already have so much information then it should be easy to copy that information from the filename to the tags - see Convert>Filename - Tag.
The good thing about separating information into fields is that you get structured information instead of a single amourphous string.
Also, the filename has several restrictions in respect to illegal characters as well as total length.
So, before you fiddle around with the filename, fill the tags first.

This is AWESOME looking, I only have one problem, 1. I have no idea how to implement it (as in, where exactly is this Guess Value option) and 2. Is there a way to do it without the parenthesis enclosing the "Feat."?

All or any help is welcome...

-chris

See the help: https://docs.mp3tag.de/actions

I apologize for reviving this thread. I've adapted your regex to my specific situation but i can't get it to parse capital letters such as follows:

I have:

ARTIST: SIS
TITLE: Sombra india feat. eduardo castillo (Eduardo Castillo remix)

I want:

ARTIST: SIS feat. Eduardo Castillo
TITLE: Sombra india (Eduardo Castillo remix)

My regex:

Action: Guess Values
Source Format: %artist% $regexp(%title%,(.*)\s(feat\.)\s(.*)\s(\(.*\)),feat. $caps2($3) +++ $1 $4)
Guessing Pattern: %artist% +++ %title%

It doesn't return "eduardo castillo" in uppercase letters. Where did i go wrong?

You have mixed something into the $regexp() function, which might be not allowed ... or does not work per se, ... which is here ... the function $caps2().

You may do what you want in a following second step ...

Action "Format value"
Tag-Field : ARTIST
Formatstring: $regexp(%ARTIST%,'^(.+\sfeat.\s)(.*)$','$1')$regexp($regexp(%ARTIST%,'^(.+\sfeat.\s)(.*)$','$2'),'\b\w*\b','\u$0')
... or ...
Formatstring: $regexp(%ARTIST%,'^(.+\sfeat.\s)(.*)$','$1')$caps2($regexp(%ARTIST%,'^(.+\sfeat.\s)(.*)$','$2'))

From: "SIS feat. eduardo castillo"
To : "SIS feat. Eduardo Castillo"

DD.20151017.1444.CEST

I've filled the source field with $regexp(%ARTIST%,'^(.+\sfeat.\s)(.*)$','$1')$caps2($regexp(%ARTIST%,'^(.+\sfeat.\s)(.*)$','$2')) and %artist% +++ %title% as the guessing pattern but the engine didn't output the desired result. Should it be done in two separate actions? Or there's something wrong in the guessing pattern perhaps?

As I said, my proposal works as the second step in your workflow.

  1. Guess the values from ARTIST and TITLE.
  2. Then additional formatting on the tagfield ARTIST.

DD.20151019.0925.CEST

Much appreciated for the clarification! :slight_smile:

I hope it is okay that I post on such an old thread, as I feel this is related, and it is the first thing to come up in a google search.

I was wondering how I would move the ENTIRE artist field to the title.

I have:
Arist: Benny Dayal, Anushka Manchanda, Shefali Alvaris
Title: Ek Main Aur Ekk Tu

I want:
Arist: %albumartist% (Or leave it blank.)
Title: Ek Main Aur Ekk Tu (Feat. Benny Dayal, Anushka Manchanda, Shefali Alvaris)

Thank you!!

EDIT:
I was over thinking things. I got it. For anyone as dumb as me:






Regex is making my head hurt. I've just wasted two hours trying to figure it out, but failed. :frowning:

What I'm trying to do is create a couple of Actions to populate Multiple Artists from Title and vice versa.

Source
Title: SongTitle (ft ArtistOne & ArtistTwo)
Artist: AlbumArtist

Desired Result
Title: SongTitle (feat. ArtistOne & ArtistTwo)
Artist: AlbumArtist;ArtistOne;ArtistTwo

  1. I want to standardize all the different capitalizations/versions of Ft., Featuring, FT, feat, etc. and standardize it to "feat." in the title.

  2. I want to copy the featured artists from the Title and add it to the Artist field separated by ";" but make sure the primary/album artist is listed first.

Can someone please help?

There are so many suggestions in this thread - which one did you try, what was the outcome, where are you stuck?

  1. Action "Format value"
    Field: TITLE
    Formatstring: $replace(%TITLE%,'(ft ','(feat. ','(featuring ','(feat. ','(FT ','(feat. ')

  2. Action "Format value"
    Field: ARTIST
    Formatstring: %ARTIST%[';'$replace($regexp(%TITLE%,'^.+?\(feat\.\s(.+?)\)$','$1'),' & ',';')]

DD.20160603.1240.CEST

I kept using the "GUESS VALUE" function, which I think was the problem since I wanted to copy values rather than move them.

I solved it using your examples.

I use this to first standardize to "(feat. Artist1, Artist2 & Artist3)" in the Title:
Action: Format Value
Field: TITLE
Format string: $regexp(%TITLE%,'^(.+?)\s+[[({<]?\s*(?:featuring|feat\.?|ft\.?|with\.?)\s*([^])}>]+)[])}>]?(.*)$','$1 (feat. $2$3)',1)

Then transfer from all artists in the title to the Artist field:
Action: Format Value
Field: ARTIST
Format string: %ALBUMARTIST%[';'$replace($regexp(%TITLE%,'^.+?\(feat\.\s(.+?)\)$','$1'),' & ',';')]

Then this last function if there are more than three Artists that is separated by commas:
Action: Replace
Field: ARTIST
Original: ', '
Replace with: ';'

THANK YOU both so much!

Hi, old topic, I know, but I wanted to know how I could use Guess Values to move the features from the title tag to the artist tag.

Before
TITLE: Groovy Tony / Eddie Kane (feat. Jadakiss)
ARTIST: ScHoolboy Q

All titles have the features in parenthesis.

After
TITLE: Groovy Tony / Eddie Kane
ARTIST: ScHoolboy Q feat. Jadakiss

All tags have the parenthesis around the features removed.

Same question as him, but I can't find a reply to his question either.

To me it looks like the pattern from post #6

I tried that but it results in the ARTIST tag looking "ScHoolboy Q; Jadakiss" when really I'm just looking to move the entire "feat. ..." phrase (minus the parenthesis) from the TITLE to the ARTIST tag. I tried playing around with it but nothing seems to work.

  1. Action of the type "Guess value" for %TITLE%:
    Pattern: %title% (%tmp_feat%)

  2. Action of the type "Format value" for ARTIST
    Format string: %artist% %tmp_feat%

  3. Action of the type "Remove field" for tmp_feat

I have tried the above expression (screenshots attached), but the results were not as intended.

Action:
https://1drv.ms/i/s!AqhxjsOI4CLtsC440d30hoyiG1KT

Original Screenshot:
https://1drv.ms/i/s!AqhxjsOI4CLtsC3kEplNLKpJlGj9

Result Screenshot:
https://1drv.ms/i/s!AqhxjsOI4CLtsCxI0LY4LREfzHX8

I have racked my brain trying to figure out why the title is disappearing altogether, everything else appears to be working properly. Any suggestions?