Tag support for ROBUST music library organization

This is a request for comprehensive support of the ID3/Vorbis/etc. tags that are necessary for truly meaningful and complete organization of music libraries, both classical and popular.

Here is what I hope will be a comprehensive list of the ID3 tags that are essential for digital music management (including special needs for classical music). For FLAC and other file formats, the appropriate equivalents of these tags, if they exist, should be supported.

Tags which are necessary for complete management

:small_blue_diamond: - Tags that Plex currently supports
:small_orange_diamond: - Partially-supported, or needs improved support
:small_red_triangle: - Currently-unsupported tags

:small_blue_diamond: TALB Album/Movie/Show title
:small_orange_diamond: TCON Content type [genre] [Needs to be on a per-TRACK basis] - [multiple genres (more than two)]
:small_blue_diamond: TDRC Recording time [especially meaningful for classical music] (Plex uses this for “originally available at”)
:small_blue_diamond: TDRL Release time
:small_blue_diamond: TIT2 Title/songname/content description [movement] (See detailed description below)
:small_orange_diamond: TPE1 Lead performer(s)/Soloist(s) [may contain multiple names]
:small_orange_diamond: TPE2 Band/orchestra/accompaniment [especially meaningful for classical music] [may contain multiple names] (Plex is actually misusing the TPE2 tag for ‘Album Artist.’ See additional comments below.)
:small_blue_diamond: TPOS Part of a set [‘disc number’ in multi-disc albums, box sets]
:small_blue_diamond: TRCK Track number/Position in set
:small_blue_diamond: TSOA Album sort order
:small_blue_diamond: TSO2 Performer sort order
:small_blue_diamond: TSOP Performer sort order (if TSO2 not found)
:small_blue_diamond: TSOT Title sort order
:small_blue_diamond: TPUB Record label
:small_red_triangle: TSST Set Subtitle - Useful for box sets, audiobooks, collections
:small_red_triangle: TDOR Original release time
:small_red_triangle: TLAN Language(s)

MUST HAVE tags for adequate organization

:small_red_triangle: TCOM Composer [may contain multiple names] [Absolutely indispensable for classical music]
:small_red_triangle: TPE1 Complete and proper support for multiple artists
:small_red_triangle: TPE2 Correct support for Orch./Accomp. tag, OR a custom tag for that purpose
:small_red_triangle: TPE3 Conductor/performer refinement [especially meaningful for classical music]
:small_red_triangle: TIT1 Content group description (See detailed description below)
:small_red_triangle: TIT3 Subtitle/Description refinement (See detailed description below)

Title Tags

There are three ID3 tags intended for titling tracks.  Below is an excerpt from the ID3 (2.3) spec:

TIT1 - The 'Content group description' frame is used if the sound belongs to a larger category of sounds/music. For example, classical music is often sorted in different musical sections (e.g. "Piano Concerto", "Weather - Hurricane").

TIT2 - The 'Title/Songname/Content description' frame is the actual name of the piece (e.g. "Adagio", "Hurricane Donna").

TIT3 - The 'Subtitle/Description refinement' frame is used for information directly related to the contents title (e.g. "op. 16" or "Performed live at Wembley").

As an example, consider the following classical composition by Tomaso Albinoni:

In order for Plex to display these track titles completely, the tracks below all have the complete title in TIT2, while TIT1 and TIT3 are blank.

TIT1 │TIT2 │TIT3
│Concerto in G major, I. Allegro, op. 9 no. 6 │
│Concerto in G major, II. Adagio, op. 9 no. 6 │
│Concerto in G major, III. Allegro, op. 9 no. 6 │

If the tags were populated as intended in the ID3 spec, they would look like this:

TIT1   â”‚  TIT2     â”‚  TIT3
Concerto in G major   â”‚  I. Allegro     â”‚  op. 9 no. 6
Concerto in G major   â”‚  II. Adagio     â”‚  op. 9 no. 6
Concerto in G major   â”‚  III. Allegro     â”‚  op. 9 no. 6

However, when tagged this way, Plex only shows the track name as "I. Allegro," "II. Adagio," and "III. Allegro," which is not helpful when viewing track listings.

Since TIT1 and TIT3 rarely apply to non-classical music, Plex should ignore these fields when blank, only showing their content when populated.

There is no need to show the tags in tabular form.  If it is simpler to implement, the content of the three tags could be concatenated, so the appearance would be identical to the current appearance.

Correct implementation of these Title fields would enable the additional option of displaying a composer’s works by composition (TIT1).


TPE Tags

As I noted above, Plex is misusing and mislabeling the TPE2 tag. The ID3 spec actually has no field intended for ‘album artist.’ The ID3 tag Plex is using for ‘album artist’ is TPE2, which, in the ID3 spec, is intended for ‘Band/Orchestra/Accompaniment.’ This is not the same thing as ‘album artist.’

(Plex is not alone in this. Misuse of TPE2 for AlbumArtist dates back to the early days of Winamp and is widespread. If Plex is unwilling to buck that trend and use TPE2 as intended, a custom tag will have to be used for ‘Band/Orchestra/Accompaniment.’ Both tags are essential for classical music.)

My proposal to handle this and restore TPE2 to proper usage:

  • TPE2 is unmapped from AlbumArtist in Plex’s database, and correctly mapped to a new “Band/Orchestra/Accompaniment” field, as defined by the ID3 specification. This is essential for classical music.

  • AlbumArtist becomes a Plex-only field, auto-populated according to the following rules, or manually.

    • If Artist (TPE1) is identical for all tracks on the album, then AlbumArtist = Artist.

    • The ID3 spec requires that multiple artists may be added to the TPE1 tag, separated by a ‘/’ character. If the same artist appears on all tracks, then that artist becomes “Album Artist.” Artists that don’t appear on all tracks are listed as “featuring
”, or “with
” on track listings.

    • If Artist (TPE1) is not identical on all tracks, AND the same artist does not appear on all tracks, then AlbumArtist = “Various Artists.” In this case, the Artist is identified on track listings (as is currently done).

  • If TPE1 lists multiple artists (Barbra Streisand/Bryan Adams, for example), an artist page is created for each artist, and both artist pages list the track. See “Appears On” section in Fig. 2 below for how this might look.

  • If Plex is not willing to buck the trend by implementing TPE2 correctly, then Plex should implement a new custom tag to do what TPE2 is supposed to do.

As always, users can override all these tags in the case of errors or unusual situations.

Single-artist album with featured guests: Various-Artist album:
Fig. 1

How the Artist Detail page might look:


Fig. 2

Composers should receive similar treatment:


Fig. 3


Nice to Have

  • There are additional tags that I would consider nice to have, but not essential. These include (but are not limited to) TPE4, TMOO, USLT, YSLT, TIPL.
  • Unfortunately, even the ID3 specification authors did not anticipate the need for a Composer Sort Order tag. But it does allow for custom tags. It would be nice if Plex defined a custom tag that users could add to their embedded tags for Composer Sort Order. (iTunes has a custom Composer Sort Order (TSOC) tag. Use that?)
  • TSRC - ISRC (international standard recording code) [especially helpful for classical music] (moved to ‘Nice to Have’ because the field isn’t populated as commonly as I first thought).
1 Like

The more tag support the better of course, but wouldn’t you rather have support for the COMPOSER tag first?

9 Likes

The more tag support the better of course, but wouldn't you rather have support for the COMPOSER tag first?

That request has already been made by someone else.

2 Likes

+1 better use of embedded tags is needed!

3 Likes

As a temporary or permanent solution I’d advice you to go with picard. I’ve tried several tools. This one impressed me the most and gave me the best results by far.

1 Like

I use Puddletag and Picard these days. Picard does a couple of things that others don’t, but the UI is kind of onerous, so I use Puddletag most of the time, and Picard when I need it.

+1 for all this. I would be happy for Composer, year, and better Genre tracking, but if you are going to do those, you might as well do the rest.

3 Likes

Please add your vote by clicking on the Vote button at the top of the thread.

2 Likes

It just occurred to me, if this feature request is fully and properly implemented, it would provide a path to resolving another shortcoming I have mentioned as well:

“Let’s say I want to create a playlist containing several symphonies by various composers. Currently I can add all the files for all the movements for all the symphonies to a playlist, and I can play them in order. But if I want to randomly play this playlist, but keep each symphony together and in order, I can’t do it. In the current feature, random playback would randomly play individual movements.”

If the TIT1/TIT2/TIT3 fields are supported as described in the OP, and Plex allowed users to add content groups (TIT1) to playlists, it would be possible to create playlists that could shuffle complete symphonies rather than the individual tracks.

“Kind of onerous”
 Sheesh. I’m currently so frustrated with Picard being so crash-happy I have a huge backlog of albums I can’t get through because Picard just freezes whenever it feels like. I loved this tool and it used to be super-solid (but ugly). Now it’s a shadow of its former self.

I’m going to check out this Puddletag you mention.

I think you’ll like it, if your OS is linux. There isn’t a Windows version, so if you’re on Windows, MP3Tag is very similar.

The use of TPE2 for Album Artist is so widespread (and useful) it should really be backported into the ID3 standard as such - no use fighting absolutely overwhelming user adoption like that.

Also the Part Of Compilation tag TCMP should be respected. Essentially this means:

  • If Artist (TPE1) is identical for all tracks on the album, then AlbumArtist = Artist.
  • If Artist (TPE1) is not identical on all tracks, then AlbumArtist = “Various Artists.” but only if the Part Of Compilation tag is TRUE. This prevents albums with non-unique titles (“The Best Of” or “Farewell”, “IV” or something) being accidentally shoved into each other as one giant Various Artists album.
  • Needless to say, this “Various Artists” value should be a variable within the Plex database and not a hardcoded string, as this is different for each language.
5 Likes

That may be the best way to go, as long as the final result is that we have a tag with the intended purpose of TPE2 (“Band/Orchestra/Accompaniment”), and a tag with the de facto usage of Album Artist.

That’s a good addition. I had thought there may be some situations that wouldn’t be addressed by my strategy, but I never put my finger on it. I think this would cover it. Thanks.

Another addition to your suggestion: many albums have tracks from different years on it - both Various Artists compilations and single artist “Best Of” retrospectives. In order to make smart playlists effective (“all tracks from 1958” for example) these need to have a year individually.
And how to display that within the Plex UI:

  • if all tracks are the same year, then this field can be rolled up to one album Year, like on that Manhattan Transfer example.
  • otherwise these years for every song should be displayed on the Album view, like your Stand By Me compilation example, all these songs are from well before 1986: 1 Everyday - Buddy Holly - 1958.
  • what then should be displayed as the Album year is up for debate, either the range of min-to-max (so, 1952-1965) or a separate single year (1986) Album Year field.

This is analogous to how Album Artist/Track Artist should be handled, i.e. if there are multiple artists on an album, display the Artist for every track, if there’s only one Artist on the Album it’s rolled up and displayed only for the Album

4 Likes

The ID3 2.4 specification has some new tags (TDOR - Original release time, TDRL - Release time) that might accomplish that. Unfortunately, there don’t appear to be equivalent tags in the Vorbis standard, so the same might not be doable for .flac files.

Hi, just tuning in to note how important this feature is for me. I am running Plex on my home server and would like to access all of my media though it. Unfortunately I can’t use it for music, since Plex doesn’t support my system! Allowing genre to be set per track will fix my specific trouble. For anyone interested, here is my system:

Requirement
Most of my tracks either don’t have an album (they are DJ sets) or are single tracks where I don’t care about the album too much. When choosing what to listen to I first decide on what type of music I want, and then if I want to listen to individual tracks or a set. I never filter by Album and I very rarely filter by Artist. By the way I listen almost exclusively to electronic music - possibly the requirements I have are specific to that type of music.

Current Solution
The primary sorting of my tracks is by genre and the secondary sorting is by [is a set]/[is not a set]. For genre I use the usual genre tag and I save the information if a track is a set or not in the Album tag. I realize this is a hack, but it allows for sensible navigation of my library in most mobile apps


Hope for the Future
I would like to use a custom tag “Set” (boolean) instead of using the Album field as described above. For this I need to use a good tagger and also I need support for custom tags in Plex (web and mobile). Also I would like to customize my web and mobile layout to reflect the way I use my library: Choose Genre -> Choose set ot no set -> see list of tracks.

If someone else has found a better way to organize a library like mine (has a lot of sets and a lot of single tracks without albums) please let me know!

2 Likes

In the real world (outside of Plex), genre tags are applied on a per-track basis. Plex, unfortunately, reads those tags and applies it to the album containing the tracks, while ignoring the individual tracks, which causes problems.

WRT sets, the TPOS tag mentioned in the OP is used, for example, in the case of a multi-disc set. If there’s only one disc, it can be left empty. That’s not exactly Boolean, but could be treated that way.

If Plex did two things, I think it would allow you to do what you’re asking:

  • Implement the tagging improvements I’ve outlined in the OP
  • Add ‘Track genre’ to the Filters AND Custom Filters choices.

Thanks for voting.

2 Likes

Getting the Composer field into Plex is very important to me because I use it to attribute the producer of a Hip Hop song to the track. I have been getting around this by burning the producer into the title of the track, but that then breaks the LyricFind service. Supporting the Composer field is more than just for classical music, it’s essential for any music.

2 Likes

voted, not because I use these tags often, but I want to see Plex Music flourish in any way possible.

3 Likes

I’m amazed that this is still an issue
 This is basic stuff for any serious music library/organizer/player. To sort all tracks from a given artist by albums and appearing on (various artist/compilation tracks)
 I will never pay to use Plex before this is integrated, as this simply makes most of my music too disorganized
 and dare I say that Emby already has this feature already, its simply not good enough.

3 Likes