# Title tag from filename - Title {artist}

**URL:** <https://community.mp3tag.de/t/title-tag-from-filename-title-artist/62939>\
**Category:** Support\
**Created:** [December 1, 2023, 2:04am UTC](https://community.mp3tag.de/t/title-tag-from-filename-title-artist/62939 "2023-12-01T02:04:59Z")\
**Posts on this page:** 13\
**Page:** 1

<div class="post-metadata">

**Author:** ![AudioBabble](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/a/41988e/32.png) [@AudioBabble](https://community.mp3tag.de/u/AudioBabble)\
**Post date:** [December 1, 2023, 2:04am UTC](https://community.mp3tag.de/t/title-tag-from-filename-title-artist/62939/1 "2023-12-01T02:04:59Z")

</div>

Sorry if this has been asked before:

I have filenames in the following format:

01 - Hawkwind - PXR5.flac

Currenltly I have just the song title as the title tag, so in the above case: "PXR5"

I want the title tag to be the title of the song, followed by the artist name from the filename. (the artists tag is currently just 'Various Artists").

So the title tag ends up being "PXR5 {Hawkwind}"

How can I do this?

---

<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:** [December 1, 2023, 6:02am UTC](https://community.mp3tag.de/t/title-tag-from-filename-title-artist/62939/2 "2023-12-01T06:02:49Z")

</div>

The best way would be to get also the artist and track data into the tag fields.  
"Various Artists" is best saved in ALBUMARTIST.  
So, for all the files that should get a new name, do as follows  
Copy the ARTIST to ALBUMARTIST, with Convert\>Tag-Tag for ALBUMARTIST  
Format string: %artist%  
Import the data from the filename with Convert\>Filename-Tag  
Mask: %track% - %artist% - %title%

Write a new filename with Convert\>Tag-Filename  
Format string: %track% - %title% (%artist%)

And just to get this clear: the filename is the filename and not

> [@AudioBabble](#):
>
> the title tag

I am not sure whether I got the brackets right as you use different ones in the thread title than in post.

---

<div class="post-metadata">

**Author:** ![AudioBabble](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/a/41988e/32.png) [@AudioBabble](https://community.mp3tag.de/u/AudioBabble)\
**Post date:** [December 1, 2023, 4:19pm UTC](https://community.mp3tag.de/t/title-tag-from-filename-title-artist/62939/3 "2023-12-01T16:19:16Z")

</div>

Thanks for this.

The reason I need to change the 'artist' tag to Various Artists is because of the way my media library program works (Media Monkey). If I don't do this, I get all the individual artists (from compilations) listed in my 'artists' view. I don't want this!

Hence, I'd rather change the Artist tag to VA, but have the artist name in the 'title' tag.

In this particular case, I found it easier to just re-instate the original tags (via musicbrainz), then follow a 2-step process:

1. Quick actions \> Format \> Title \> %title% {%artist%}
2. select all files and change 'artist' tag to Various Artists.

However, my real question was how to 'extract' the artist name from the filename and append it to the 'title' tag.

---

<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:** [December 1, 2023, 4:25pm UTC](https://community.mp3tag.de/t/title-tag-from-filename-title-artist/62939/4 "2023-12-01T16:25:23Z")

</div>

> [@AudioBabble](#):
>
> my real question was how

Still almost the same answer: create an amorphous string of the filename from structured data in the tag fields.  
If you do not like to see the artist in the ARTIST field, then save the artist's name in a user-defined one and go on from there as described.  
If the player does not meet your requirements and needs a non-standard way, then I would think about the use of a different player.  
The non-standard way is to put the artist into title and use ARTIST for the ALBUMARTIST: But that is up to you.

---

<div class="post-metadata">

**Author:** ![AudioBabble](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/a/41988e/32.png) [@AudioBabble](https://community.mp3tag.de/u/AudioBabble)\
**Post date:** [December 1, 2023, 4:42pm UTC](https://community.mp3tag.de/t/title-tag-from-filename-title-artist/62939/5 "2023-12-01T16:42:25Z")

</div>

Forgive my ignorance, but consider the following filename:

"01 - Ozric Tentacles - The Domes of G'bal"

Surely, there's a method of pattern matching where '-' is the separator and the 'fields' are whatever is between the separators?

Provided the convention is "track no." - "artist' - "title", then surely it is possible to make the title tag = %title% {%artist%) ?

However, putting the above into 'filename \> tag' doesn't work.

---

<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:** [December 1, 2023, 4:47pm UTC](https://community.mp3tag.de/t/title-tag-from-filename-title-artist/62939/6 "2023-12-01T16:47:04Z")

</div>

Yes. The esiest way would be to apply Convert\>Filename - tag first with  
Mask: `%track% - %myartist% - %title%`

and then either run an action of the type "Format value" or Convert\>Tag-Tag for TITLE afterwards with:  
Format string: `%title% (%myartist%)`

---

<div class="post-metadata">

**Author:** ![AudioBabble](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/a/41988e/32.png) [@AudioBabble](https://community.mp3tag.de/u/AudioBabble)\
**Post date:** [December 1, 2023, 4:54pm UTC](https://community.mp3tag.de/t/title-tag-from-filename-title-artist/62939/7 "2023-12-01T16:54:19Z")

</div>

Ah, now I see...

Actually what seems to work is:

Convert \> Filename - Tag, mask:  
**%track%** %dummy% **%artist%** %dummy% **%title%**

-- otherwise it tries to include the dashes (I think they might be some kind of non-standard dashes in my particular case)

Then, as you say, I can do a 'format value' action to customize the 'title' field.

Many thanks 🙂

---

<div class="post-metadata">

**Author:** ![LyricsLover](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/l/c6cbf5/32.png) [@LyricsLover](https://community.mp3tag.de/u/LyricsLover)\
**Post date:** [December 1, 2023, 5:01pm UTC](https://community.mp3tag.de/t/title-tag-from-filename-title-artist/62939/8 "2023-12-01T17:01:38Z")

</div>

> [@AudioBabble](#):
>
> **%track%** %dummy% **%artist%** %dummy% **%title%**

Did you try your format string on  
`01 - Ozric Tentacles - The Domes of G'bal`  
This shows for me:  
 ![image](https://community.mp3tag.de/uploads/default/original/2X/8/82611712459c74ce0539ca822c1c8b6dff4a6ad1.png)

I would suggest to copy & paste your filename from Windows Explorer and see what kind of dashes you really find in your filename.

---

<div class="post-metadata">

**Author:** ![AudioBabble](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/a/41988e/32.png) [@AudioBabble](https://community.mp3tag.de/u/AudioBabble)\
**Post date:** [December 1, 2023, 5:07pm UTC](https://community.mp3tag.de/t/title-tag-from-filename-title-artist/62939/9 "2023-12-01T17:07:55Z")

</div>

It looks like you're right... and even worse:

Oh dear, this isn't a good method at all!

---

<div class="post-metadata">

**Author:** ![MotleyG](https://community.mp3tag.de/user_avatar/community.mp3tag.de/motleyg/32/440_2.png) [@MotleyG](https://community.mp3tag.de/u/MotleyG)\
**Post date:** [December 1, 2023, 5:13pm UTC](https://community.mp3tag.de/t/title-tag-from-filename-title-artist/62939/10 "2023-12-01T17:13:33Z")

</div>

> [@LyricsLover](#):
>
> I would suggest to copy & paste your filename from Windows Explorer and see what kind of dashes you really find in your filename.

This is the best advice. If your tags/filenames were downloads there is a very good chance these "dash" characters are one oif many alternate unicode characters that are available. Figure dash, Em dash, En dash for example are just three different ones off the top of my head. By using copy/paste from an example file you will be using the actual character that is in that group of files.

---

<div class="post-metadata">

**Author:** ![AudioBabble](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/a/41988e/32.png) [@AudioBabble](https://community.mp3tag.de/u/AudioBabble)\
**Post date:** [December 1, 2023, 5:13pm UTC](https://community.mp3tag.de/t/title-tag-from-filename-title-artist/62939/11 "2023-12-01T17:13:57Z")

</div>

yup, so this works:

%track% - %artist% – %title%

notice the long dash between artist and title, which I copied via hitting F2 on the filename in mp3tag.

Best forget about the %dummy% -- can be useful in some places but not in this case!

---

<div class="post-metadata">

**Author:** ![LyricsLover](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/l/c6cbf5/32.png) [@LyricsLover](https://community.mp3tag.de/u/LyricsLover)\
**Post date:** [December 1, 2023, 5:21pm UTC](https://community.mp3tag.de/t/title-tag-from-filename-title-artist/62939/12 "2023-12-01T17:21:57Z")

</div>

> [@MotleyG](#):
>
> Figure dash, Em dash, En dash for example are just three different ones off the top of my head

👍  
There are many more variants 🤯

> [@Split title into individual fields?](https://community.mp3tag.de/t/split-title-into-individual-fields/18964/9):
>
> In addition to @MotleyG's advice, please have a look at all the [various dash variants](https://en.wikipedia.org/wiki/Dash#Unicode). Some of them are hardly distinguishable by eye.

---

<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:** [December 31, 2023, 5:22pm UTC](https://community.mp3tag.de/t/title-tag-from-filename-title-artist/62939/13 "2023-12-31T17:22:10Z")

</div>

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
