# Artists to Title as feat

**URL:** https://community.mp3tag.de/t/artists-to-title-as-feat/46831
**Category:** Support
**Created:** [October 22, 2019, 12:18pm UTC](https://community.mp3tag.de/t/artists-to-title-as-feat/46831 "2019-10-22T12:18:40Z")
**Posts on this page:** 9
**Page:** 1

<div class="post-metadata">

### Author: ![sadsack5000](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/s/a587f6/32.png) [@sadsack5000](https://community.mp3tag.de/u/sadsack5000)
#### Post date: [October 22, 2019, 12:18pm UTC](https://community.mp3tag.de/t/artists-to-title-as-feat/46831/1 "2019-10-22T12:18:40Z")

</div>

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?

Thanks

---

<div class="post-metadata">

### Author: ![ohrenkino](https://community.mp3tag.de/user_avatar/community.mp3tag.de/ohrenkino/32/4843_2.png) [@ohrenkino](https://community.mp3tag.de/u/ohrenkino)
#### Post date: [October 22, 2019, 4:38pm UTC](https://community.mp3tag.de/t/artists-to-title-as-feat/46831/2 "2019-10-22T16:38:41Z")

</div>

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

> [@Feat. Artist script](https://community.mp3tag.de/t/feat-artist-script/46780):
>
> Hello, could someone help me to write action script that will move all artists except of main album artist to the title and they will go by feat. And then remove all artists except of the main one from artist category. For example Title of song - Artist - Album Artist Happy - Pharell;Orange;Banana - Pharell After: Happy feat. Orange, Banana - Pharell - Pharell I tried to do this but it was moving me even main artist to the featuring. And also if theres no featuring it wont edit …

or this one:

> [@Artist Vs Artist to Artist Featuring Artist](https://community.mp3tag.de/t/artist-vs-artist-to-artist-featuring-artist/16967):
>
> All, First time poster here so please be gentle I need some help on writing an action to move vs artists and "and" artists from the artist field into the title field inside of brackets with "Featuring". In some cases i already have a featuring artist in the title field and in others not. Please see following examples: Case 1 (no featuring artist present initially) Example 1 What I have: Artist: DJ Fresh vs TC Title: Make U Bounce I need: Artist: DJ Fresh Title: Make U Bounce (Featuring…

---

<div class="post-metadata">

### Author: ![sadsack5000](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/s/a587f6/32.png) [@sadsack5000](https://community.mp3tag.de/u/sadsack5000)
#### Post date: [October 22, 2019, 6:26pm UTC](https://community.mp3tag.de/t/artists-to-title-as-feat/46831/3 "2019-10-22T18:26:54Z")

</div>

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

---

<div class="post-metadata">

### Author: ![ohrenkino](https://community.mp3tag.de/user_avatar/community.mp3tag.de/ohrenkino/32/4843_2.png) [@ohrenkino](https://community.mp3tag.de/u/ohrenkino)
#### Post date: [October 22, 2019, 6:39pm UTC](https://community.mp3tag.de/t/artists-to-title-as-feat/46831/4 "2019-10-22T18:39:09Z")

</div>

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%)`

---

<div class="post-metadata">

### Author: ![sadsack5000](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/s/a587f6/32.png) [@sadsack5000](https://community.mp3tag.de/u/sadsack5000)
#### Post date: [October 23, 2019, 11:22am UTC](https://community.mp3tag.de/t/artists-to-title-as-feat/46831/5 "2019-10-23T11:22:25Z")

</div>

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

---

<div class="post-metadata">

### Author: ![ohrenkino](https://community.mp3tag.de/user_avatar/community.mp3tag.de/ohrenkino/32/4843_2.png) [@ohrenkino](https://community.mp3tag.de/u/ohrenkino)
#### Post date: [October 23, 2019, 11:36am UTC](https://community.mp3tag.de/t/artists-to-title-as-feat/46831/6 "2019-10-23T11:36:46Z")

</div>

> [@sadsack5000](#):
>
> 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: [Merge Duplicate Fields – Mp3tag Documentation](https://docs.mp3tag.de/actions/merge-duplicate-fields)) - and you can set the semicolon as separator so that it looks similar to your original idea.

---

<div class="post-metadata">

### Author: ![sadsack5000](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/s/a587f6/32.png) [@sadsack5000](https://community.mp3tag.de/u/sadsack5000)
#### Post date: [October 23, 2019, 6:17pm UTC](https://community.mp3tag.de/t/artists-to-title-as-feat/46831/7 "2019-10-23T18:17:44Z")

</div>

> [@ohrenkino](#):
>
> $regexp(%tmp\_artist%,(._); (._),'$1 & $2')

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.  
E.g.  
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

---

<div class="post-metadata">

### Author: ![ohrenkino](https://community.mp3tag.de/user_avatar/community.mp3tag.de/ohrenkino/32/4843_2.png) [@ohrenkino](https://community.mp3tag.de/u/ohrenkino)
#### Post date: [October 23, 2019, 6:22pm UTC](https://community.mp3tag.de/t/artists-to-title-as-feat/46831/8 "2019-10-23T18:22:33Z")

</div>

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 ;

---

<div class="post-metadata">

### Author: ![system](https://community.mp3tag.de/uploads/default/original/2X/c/ce7035d426cb755a7916793326d23b465222a407.png) [@system](https://community.mp3tag.de/u/system)
#### Post date: [February 9, 2026, 12:28pm UTC](https://community.mp3tag.de/t/artists-to-title-as-feat/46831/9 "2026-02-09T12:28:18Z")

</div>


