Artists to Title as feat

Hello All,

I have tagged my files with Musicbrainz Picard using the id3v2.4 format
I have elected to use the Artist tag (rather than Artists) to store all artists for a track separated by semi-colons e.g.
Artist: Tom Jones; Cerys Matthews

I am using a script in Picard to make contributing artists (such as Cerys Matthews above) appear as (feat. XXX) in the title.
The problem is, the script in Picard is not that accurate and often leaves me with no featured artists in the title or missing some

I am therefore looking for a script in MP3tag to append my Title tags with any artists after the first in format such as (feat. artist2, artist3 & artist4)

Does such a thing exist?


Use the search function of the forum. You will find a lot of threads, e.g. just a couple of days ago this one:

or this one:

Actually i looked through quite a few of these threads but none seem to suit what im after.

The artists are there in Artist: artist1; artist2; artist3; artist4 etc.

I just need something to break them out so my title looks like:
Title (feat. artist2, artist3 & artist4)

Sorry but for newbies this is all extremely difficult

You could first transfer all but the first artist to a temporary field
Action of the type "Format value" for tmp_artist
Format string: $regexp(%artist%,(.*?); (.*),$2)
tmp_artist should now contain artist2; artist3; artist4.
Now you can replace the last ; with &:
Action of the type "Format value" for TMP_ARTIST
Format string: $regexp(%tmp_artist%,(.*); (.*),'$1 & $2')

then replace the semicoli with a comma:
Action of the type "Replace" for TMP_ARTIST
Search string: ;
Replace string: ,
And now add the TMP_ARTIST to TITLE
Action of the type "Format value" for TITLE
Format string: %title% (feat. %tmp_artist%)

For some reason the first Format of tmp_artist using $regexp(%artist%,(.?); (.),$2) only outputs the main artist in tmp_artist rather than the other two

EDIT: not sure if it matters but i used ; as the delimiter in Picard yet in MP3tag the delimeter appears as a double slash e.g. artist1\artist2

Then you've got multi-value fields and not just one field of the type ARTIST. See the extended tags dialogue.

You can merge these fields with an action (see the help on actions: - and you can set the semicolon as separator so that it looks similar to your original idea.

Ok so i've had a good play around with it and using your advice i've got something that mostly works. The only issue im seeing is if tmp_artist is blank (meaning the track is a single artist) the final command Format: %title% (feat. %tmp_artist%) is placing an empty (feat. ) at the end of the title.
Ariana Grande - Watch Me (feat. )

Is there any way to make it only carry out the formatting if tmp_artist has a value? I dont really want to sift through every track selecting only those that have contributing artists, that will kill me off

You could merge first all artists so that the ones with more than one artist have the semicolon in the field.
and then you could filter for those tracks:
%artist% HAS ;