Jump to content

Issue with multi-value genre tag in music files


somy

Recommended Posts

Hi,

I'm organising music library based on genres used by Dicogs:

https://blog.discogs.com/en/genres-and-styles/

The problem is there are several tags containing multiple values separated by comma (,), as an example "Folk, World, & Country". To make things more complex, some of albums/tracks have multiple genres. 

So what I found out is:

1) Emby treat "," as separator for multiple values, so that music tagged by genre "Folk, World, & Country" will be put into "Folk", "World", and "& Country". Basically single genre is splitter into multiple genres.

2) If music has multiple genres (for example "Classical"; "Folk, World, & Country"), Emby somehow can figure out it is multiple genres and therefore will put the track under both "Classical" and "Folk, World, & Country" genres correctly

3) Besides comma, it seems to me that Emby also treat slash (/) as separator. One example is the genre called "Funk / Soul".

My questions: is there anyway that I can instruct Emby to stop splitting genres by comma and slash? Given 2) is working I assume Emby must know if the Genre tag contains multiple items, and therefore for single value it shouldn't attempt to split.

And how can I fix this issue? I certainly don't want a genre called "& Country". I couldn't seem to find a way to correct genre in metadata editor.

Thank you in advance!

 

Link to comment
Share on other sites

Somy: I too have been challenged by this. What I found is that there are a lack of standards (not Emby) how meta tags are assigned to albums and tracks. Most are correct but there are others that may give you a fright. I recommend using the app MP3tag to correct, adjust, modify tags to your liking, and importantly, in the formats that you have mentioned above that Emby will handle well.

MP3tag works with all audio file type tags (including .dsf, .dff), and is free. Don't let the name fool you.

 

I hope this helps.

Link to comment
Share on other sites

Just now, AVRider said:

Somy: I too have been challenged by this. What I found is that there are a lack of standards (not Emby) how meta tags are assigned to albums and tracks. Most are correct but there are others that may give you a fright. I recommend using the app MP3tag to correct, adjust, modify tags to your liking, and importantly, in the formats that you have mentioned above that Emby will handle well.

MP3tag works with all audio file type tags (including .dsf, .dff), and is free. Don't let the name fool you.

 

I hope this helps.

Hi, thank you! I can quickly change this in Foobar2000 but those albums are auto-tagged by Discogs plugin so basically I have to remember to edit the genre every time, which is annoying. As I understand Genre tag allows multiple values, not sure if possible Emby could treat single value without trying to split it.

 

Link to comment
Share on other sites

Yes, exactly the point about lack of standards. Discogs vs. Musicbrainz vs. Freedb vs. et al. I find I must use them all. Some find albums that are not available on the other.

I have multiple genres demarcated by ';' and or "/" with some coming directly from the tag app that are incorrect, and must be adjusted. I know they are incorrect just by looking at them. Hopefully you are only dealing with this by exception.

The movie tag world is far more precise in its handling.

Link to comment
Share on other sites

Hi all,

Yes I also think lack of standard is a pain - I found Discogs’s genres better suits what I need.
The issue I’d like to point out is how multi-value vs single-value tags (genre for example) should be handled in Emby.

Emby clearly can see multi-value tags as my example 2) shows. It is also nice that Emby tries to split the single value tags by comma etc, however in my use case I’d prefer to turn that off for genre at least. I have the feeling when Emby get genre tag it simply gets one big string with separator. In such case it would be nice to allow user to define how to split the values.

BTW, this is the same problem with album artist, composer, performer, and track artist. All those tags allows multiple values. 

Edit: just to add another example. In album artist I have 2 singers (A and B), when imported to Emby it becomes only one singer (B). So if I search for singer A the album won't be listed under him.

The same goes wrong with multiple track artists. If a track has 2 artist, you should be able to find the track by either artist name.

It is however a bigger problem for genres, that's why I asked for help. I do think Emby has some issues dealing with multi-value tags in general and it would be nice to have dev team to look into it.

Edited by somy
Link to comment
Share on other sites

ginjaninja
3 hours ago, Luke said:

@ginjaninja @Vicpa what do you think?

my understanding is that prior to id3v2.4 there is no formal multivalue separator

From Wiki "v2.4 was published on November 1, 2000, and remains the latest version. A major new addition is that a text frame can contain multiple values, separated with a null byte."

and given that id3v2.3 is most common, applications have to express their preference on separator character(s).

3 hours ago, Luke said:

what do you think?

If it was logically feasible and performant, the rolls royce solution  might be

  • user configured list of separators, a separator being 1 or more characters*
  • a configurable white list to make exceptions.
  • populated default values that make sense for most people.

*emby can be prescriptive on what it supports, and expect users to comply, but if there are separator mismatchs with the user's others apps (which are equally dogmatic), then its a poor outcome.

eg if emby used ';' as the only Genre separator, then i think its guaranteed that if users only used emby they could achieve the outcome they want (splits when wanted, no splits when not wanted...as ';' is never used in a genre afaik)..but other apps may not support ';'.I dont think there is a prevailing standard on [genre] tag splitters, so i think the only way for emby to be a good citizen is to a support user customisation of the separator list (unfortunately id3v2 has dealt all developers a bad hand). 

now that emby is throwing even more weight behind tagging maybe user configuration of the separator list/white list is now timely and will save all the heartaches, and improve embys compatibility / be less prescriptive on the user?

3 hours ago, somy said:

this is the same problem with album artist

there are existing solutions for artist and album artist...from tagging with musicbrainz ids (see musicbrainz puicard), to asking for white list exemption for your preferred artist (which you dont want split) in a feature request.

 

Link to comment
Share on other sites

4 hours ago, Luke said:

@ginjaninja @Vicpa what do you think?

Hi,

I think you have to split the based on currently supported delimiter's in emby (comma, semi-colon and slash) I believe.. If you don't want them split you can use a dash or ampersand. 

I just my opinion 

Link to comment
Share on other sites

19 hours ago, ginjaninja said:

my understanding is that prior to id3v2.4 there is no formal multivalue separator

From Wiki "v2.4 was published on November 1, 2000, and remains the latest version. A major new addition is that a text frame can contain multiple values, separated with a null byte."

and given that id3v2.3 is most common, applications have to express their preference on separator character(s).

If it was logically feasible and performant, the rolls royce solution  might be

  • user configured list of separators, a separator being 1 or more characters*
  • a configurable white list to make exceptions.
  • populated default values that make sense for most people.

*emby can be prescriptive on what it supports, and expect users to comply, but if there are separator mismatchs with the user's others apps (which are equally dogmatic), then its a poor outcome.

eg if emby used ';' as the only Genre separator, then i think its guaranteed that if users only used emby they could achieve the outcome they want (splits when wanted, no splits when not wanted...as ';' is never used in a genre afaik)..but other apps may not support ';'.I dont think there is a prevailing standard on [genre] tag splitters, so i think the only way for emby to be a good citizen is to a support user customisation of the separator list (unfortunately id3v2 has dealt all developers a bad hand). 

now that emby is throwing even more weight behind tagging maybe user configuration of the separator list/white list is now timely and will save all the heartaches, and improve embys compatibility / be less prescriptive on the user?

there are existing solutions for artist and album artist...from tagging with musicbrainz ids (see musicbrainz puicard), to asking for white list exemption for your preferred artist (which you dont want split) in a feature request.

 

Hi thank you for the elaboration. It's a more issue with genres, and I agree with you that the clean solution would be to let user to configure what separator to use. Many of my music files are tagged by Discogs (I prefer their genre/style categories more than musicbrainz), and by default Discogs uses "," and "/" for genres.

As for album/track artist, I don't understand what do you mean by musicbrainz ids? Those tags already support multi-values and I thought it is pretty much standard? Anyways I noticed Emby labels a release by secondary artist, and it would be nice to label the release under first artist. 

Link to comment
Share on other sites

ginjaninja

 

 Emby understands multiple artists and multiple albumartists (multiple 'release' artists?) and uses the following tags (as viewed in mp3tag..thats the tag editor i am familiar with)

(1) artist (TPE1),artists,musicbrainz_artistid

(2)  albumartist (TPE2),albumartists,musicbrainz_albumartistid

(highest priority tag on right, lower priority tags are ignored if higher priority exists.)

Spoiler

emby prioritises the rightermost tags ((1),(2)) if present..but any of the tags is a multivalue tag if a separator present, so it is not necessary to use 'artists' rather than 'artist' if you dont want to. Musicbrainz by convention uses artists and albumartists i think so as to not necessarily confuse applications which are not musicbrainz aware..emby is mbz aware but that doesnt force users to use these tags.

emby extracts tags from the file via a utility called ffprobe and then splits by emby separators (;/) - (not withstanding a whitelist to prevent splitting of eg AC/DC).

 

3 hours ago, somy said:

Those tags already support multi-values and I thought it is pretty much standard?

artist and albumartist are fairly standardised in id3v2 i agree, the separator is as per convention/application

3 hours ago, somy said:

Anyways I noticed Emby labels a release by secondary artist, and it would be nice to label the release under first artist. 

not sure what 'secondary artist' is, perhaps thats a discogs term...in any case its the id3v2 tags in bold that matter to emby (eg as viewed in a tag editor like mp3tag)..it doesnt really matter** what discogs 'calls' the tags..

tl;dr..

  • if you want Emby to be aware of albumartist (release? artist) then ensure an albumartist tag (2) is populated ,
  • if you want emby to be aware of multiple artists or albumartists then ensure there is an emby separator in an artist tag (1) or an albumartist (2) tag.
  • if you don't want a artist with a ; or / in its name to be split then submit a feature request (there is an existing whitelist eg. AC/DC is not split)

if you are not getting a result you expect, zip up a few tracks and pm them, there will be a solution.

4 hours ago, somy said:

by default Discogs uses "," and "/" for genres

If your genres have , and / in their names (and not to indicate a split) then the emby experience is going to be suboptimal. is the number of genres with ',' or '/' in their names very limited..luke may be able to whitelist a handful.

 

@luke a while back i think you removed ',' as a splitting character for [album]artists as it was too common in real names. I wonder whether ',' could be removed  as a separator for genre? maybe a public poll would help (if a user customisable list isnt easier)

i wonder how many users split genres? may need to get some support going for a specific feature request...

appendix..

**there are some tags which are standardised in id3v2 eg artist (TPE1) and albumartist (TPE2) and are i think covered in this article,

FWIW you are probably already aware mp3tag can set tags via discog lookup. mp3tag has a power scripting/conditional/automation language so if you needed to switch tags for all files (as and when a emby compatable solution exists), it is very quick and somewhat simple.

image.png.e38646e48a52ade675e37c7478844bb7.png

Link to comment
Share on other sites

ginjaninja
5 hours ago, ginjaninja said:

not sure what 'secondary artist' is, perhaps thats a discogs term

oh the penny has just dropped...i havent appreciated your perspective properly yet.

emby understands artists and albumartists (and soon composer...in beta), 

artists go against tracks ....album artists go against the album (as in the ui layout, and words/tabs in the music ui.)

i think (not sure)..that emby reports the album artists and artists in order they appear in the tags...ie its not just alphabetical.

when you say

9 hours ago, somy said:

Anyways I noticed Emby labels a release by secondary artist, and it would be nice to label the release under first artist

if you could clarify what you mean by 'labels a release' i can respond better.

perhaps an example will help

image.png.75b3b96ca2c15205365199a3c39fc5ad.png

*** is albumartist (against album)...** is artist (against track)

for tags that look like (red dots are the ones emby appreciates i think). i switched the order on the artist tags on track 1 to prove that emby lists them in the order they appear in tags... i assume the same would be the case for albumartist.

image.png.d79bedbffbf3be0f2c5e8d9b554680ee.png

and what emby sees

image.png.79623d1927e0d6d4f6a79f3f37ff84e9.png

Spoiler

 

note if your interest around this is due to classical music presentation, there is a thread here which may be of interest.


 

 

Edited by ginjaninja
Link to comment
Share on other sites

ginjaninja

have just read your link

https://blog.discogs.com/en/genres-and-styles/

an example of what the genre tag looks like after it has applied multiple genres along with their styles to the genre tag may help.

edit

interesting to see that other softwares also adopt genre/style nomenclature. 'style' is a nice way to browse the library to find connections, always thought genre on its own was too broad...anyways back on topic if the splitting of the genre tag could meet the needs of a broader audience, that sounds positive...and example of fully pimped out genre string via discogs would be of interest. i notice discogs does not have a native tagging app, what are you using?

image.png.2e5c5b62b895b64d9db7db1f234904d3.png

Edited by ginjaninja
Link to comment
Share on other sites

9 hours ago, ginjaninja said:

have just read your link

https://blog.discogs.com/en/genres-and-styles/

an example of what the genre tag looks like after it has applied multiple genres along with their styles to the genre tag may help.

edit

interesting to see that other softwares also adopt genre/style nomenclature. 'style' is a nice way to browse the library to find connections, always thought genre on its own was too broad...anyways back on topic if the splitting of the genre tag could meet the needs of a broader audience, that sounds positive...and example of fully pimped out genre string via discogs would be of interest. i notice discogs does not have a native tagging app, what are you using?

image.png.2e5c5b62b895b64d9db7db1f234904d3.png

Hi, I'm using Discogs plugin in Foobar2000 to tag my music.

I think their genres/styles are the best so far comparing to other music databases. 

But unfortunately they include "," and "/" in their genres which gives the issue in Emby - I really hope that Emby can provide some flexibility in terms of what separator for splitting.

Link to comment
Share on other sites

10 hours ago, ginjaninja said:

......

if you could clarify what you mean by 'labels a release' i can respond better.

perhaps an example will help

Hi, I will post a few examples.

1) Album artist, please see below example. Two album artists Christina/Cher, but only Cher is used in Emby:

1620832733_ScreenShot2020-12-30at13_38_02.thumb.png.fe1a3756f7bf8d194c9c2cd2028b375b.png600656262_ScreenShot2020-12-30at13_41_33.thumb.png.46a3e9115040a28abae48e62750eb9af.png

 

2) Track artists - again two track artists but only 2nd artist is displayed under track

1530527594_ScreenShot2020-12-30at13_38_58.thumb.png.f2ceaaccf9a14020f8a1d8c11ec178e2.png1477914254_ScreenShot2020-12-30at13_42_08.thumb.png.7e7a782d3bdafd97b154cca645a2e2b5.png

3) Now for classical music it is a real problem for me because of (a) composer is not displayed (b) conductor is not displayed (c) performer is not displayed (d) if multiple artists (very often for classical music) only last one is displayed:

401743704_ScreenShot2020-12-30at13_47_27.thumb.png.18bf5b705d492f26d7b2abc2c1801f67.png

276151029_ScreenShot2020-12-30at13_47_52.thumb.png.6493cd47f3049c82a791acd588075c50.png

Please be advised that the artist tags work fine in Foobar2000, Kodi and Mp3tag, so I only experience the "issues" in Emby. 

Edited by somy
  • Agree 1
Link to comment
Share on other sites

ginjaninja
4 hours ago, somy said:

Hi, I will post a few examples.

1) Album artist, please see below example. Two album artists Christina/Cher, but only Cher is used in Emby:

1620832733_ScreenShot2020-12-30at13_38_02.thumb.png.fe1a3756f7bf8d194c9c2cd2028b375b.png600656262_ScreenShot2020-12-30at13_41_33.thumb.png.46a3e9115040a28abae48e62750eb9af.png

 

2) Track artists - again two track artists but only 2nd artist is displayed under track

1530527594_ScreenShot2020-12-30at13_38_58.thumb.png.f2ceaaccf9a14020f8a1d8c11ec178e2.png1477914254_ScreenShot2020-12-30at13_42_08.thumb.png.7e7a782d3bdafd97b154cca645a2e2b5.png

3) Now for classical music it is a real problem for me because of (a) composer is not displayed (b) conductor is not displayed (c) performer is not displayed (d) if multiple artists (very often for classical music) only last one is displayed:

401743704_ScreenShot2020-12-30at13_47_27.thumb.png.18bf5b705d492f26d7b2abc2c1801f67.png

276151029_ScreenShot2020-12-30at13_47_52.thumb.png.6493cd47f3049c82a791acd588075c50.png

Please be advised that the artist tags work fine in Foobar2000, Kodi and Mp3tag, so I only experience the "issues" in Emby. 

(3) is work in progress for Emby. As i linked in a previous post there is a feature request open for better classical presentation, it would be a great help if you were to give your views/designs on how you would would like use / show / filter / navigate classical music re composer, conductor, performers, perhaps in relation to how other softwares do it.

that said support for composer tag is coming (in beta currently) but imo the devs need some feedback on how composer should be used/shown in the ui design / functionality.

in terms of (1) and (2) it seems (without some files to test) your issue is caused by ffprobe (the tool emby uses to extract tag data) . FFprobe does not understand \\ separator*** (emby only sees what is in front of \\ due to a limitation in ffprobe on mp3 files)..

***

Spoiler

for back completeness be aware that '\\' in mp3tag represents some specific characters in the header it isnt actually two forward slashes...possibly a null character, i dont understand hex editors/character sets to interpret..but this isnt pertinent to a practical solution.

there are two-ish solutions (assuming my hypothesis is correct)

  • could you consider using ';' as separator for artist/albumartist  tags/foobar/emby?
  • could you consider using ';' as separator for artistS/albumartistS tags/emby? (Assuming these tags are ignored by foobar..they will take priority in emby.)
  • rip your entire library in flacs 🙂

Working example....this is what these tags look like in emby for me..(note population of artistS and albumartistS tag using ';' separator. (by configuring the mp3tag ui to show these tags on tag panel you can set them easily)

image.png.5aba0d0e6c8c3990ed5ddb596706c724.png

image.png.b87daee5ff460080da55ed2207829698.png

voila, you can keep the old artist/albumartist tags and introduce artistS/AlbumartistS with an emby compatable separator (as long as they dont interfere with your other clients).

if you confirm the concept works, i can have a go at  advising on how to programmatically make this change to all your files in mp3tag in one go if you like..

image.png.9eb85474d02b1b43bfeeb0c7695c3946.png

Appendix esp. for @Luke

tags looking like this on mp3 files

image.png.651a0bc4d123db559168225a15a27c4a.png

are seen by ffprobe as this

image.png.c6e905c007f981fa897ab67e30308b26.png

that is a shame for emby because \\ 'separator'  (as shown in mp3tag) seems popular. there are other command line tools like exif which can read this.

image.png.c0248026ab5d3389a5f53740d44d4cbf.png

but mediainfo likewise can not see

image.png.1a692c681cc7e1bb468739a44b5aa71a.png

maybe there is some very fancy ffprobe command line option which provides more of a 'raw' assessment. its a shame ffmpeg team never fixed this for mp3 files. maybe the emby team has some contacts there.

Edited by ginjaninja
  • Thanks 1
Link to comment
Share on other sites

5 hours ago, ginjaninja said:

(3) is work in progress for Emby. As i linked in a previous post there is a feature request open for better classical presentation, it would be a great help if you were to give your views/designs on how you would would like use / show / filter / navigate classical music re composer, conductor, performers, perhaps in relation to how other softwares do it.

that said support for composer tag is coming (in beta currently) but imo the devs need some feedback on how composer should be used/shown in the ui design / functionality.

in terms of (1) and (2) it seems (without some files to test) your issue is caused by ffprobe (the tool emby uses to extract tag data) . FFprobe does not understand \\ separator*** (emby only sees what is in front of \\ due to a limitation in ffprobe on mp3 files)..

***

  Reveal hidden contents

for back completeness be aware that '\\' in mp3tag represents some specific characters in the header it isnt actually two forward slashes...possibly a null character, i dont understand hex editors/character sets to interpret..but this isnt pertinent to a practical solution.

there are two-ish solutions (assuming my hypothesis is correct)

  • could you consider using ';' as separator for artist/albumartist  tags/foobar/emby?
  • could you consider using ';' as separator for artistS/albumartistS tags/emby? (Assuming these tags are ignored by foobar..they will take priority in emby.)
  • rip your entire library in flacs 🙂

Working example....this is what these tags look like in emby for me..(note population of artistS and albumartistS tag using ';' separator. (by configuring the mp3tag ui to show these tags on tag panel you can set them easily)

image.png.5aba0d0e6c8c3990ed5ddb596706c724.png

image.png.b87daee5ff460080da55ed2207829698.png

voila, you can keep the old artist/albumartist tags and introduce artistS/AlbumartistS with an emby compatable separator (as long as they dont interfere with your other clients).

if you confirm the concept works, i can have a go at  advising on how to programmatically make this change to all your files in mp3tag in one go if you like..

image.png.9eb85474d02b1b43bfeeb0c7695c3946.png

Appendix esp. for @Luke

tags looking like this on mp3 files

image.png.651a0bc4d123db559168225a15a27c4a.png

are seen by ffprobe as this

image.png.c6e905c007f981fa897ab67e30308b26.png

that is a shame for emby because \\ 'separator'  (as shown in mp3tag) seems popular. there are other command line tools like exif which can read this.

image.png.c0248026ab5d3389a5f53740d44d4cbf.png

but mediainfo likewise can not see

image.png.1a692c681cc7e1bb468739a44b5aa71a.png

maybe there is some very fancy ffprobe command line option which provides more of a 'raw' assessment. its a shame ffmpeg team never fixed this for mp3 files. maybe the emby team has some contacts there.

Hi,

I think \\ is just how mp3tag display multiple values. It is standard to have multiple album artist entries and hence not necessary to use any separator. I attached the music files here for your testing.

When I tried with Exiftools I see the following result (there are two Genre entries and two AlbumArtist entries). 

[ExifTool]      ExifToolVersion                 : 11.55
[System]        FileName                        : 01. Christina Aguilera - Something's Got A Hold On Me.m4a
.........
[QuickTime]     GENRE                           : Pop
[QuickTime]     GENRE                           : Stage & Screen
.........
[ItemList]      Album                           : Burlesque (Original Soundtrack)
[ItemList]      AlbumArtist                     : Christina Aguilera
[ItemList]      AlbumArtist                     : Cher
[ItemList]      Artist                          : Christina Aguilera

I hope now you get why I think the splitting of genre and artist in Emby doesn't make any sense 🙂 As I mentioned all the players I use can recognise them (Kodi, Foobar2000, mp3tag, MediaMonkey), so I assume something wrong in the way how Emby handles multi-value tags. Being a developer myself, I can only guess Emby reads only the last entry and tries to split that entry. But the correct way is to read the array of all entries, and not try to split each one.

It has nothing to do with container format, I have flac, alac and dsf, all of them work fine for me with other players. In my experience the following tags allow multiple entries:

1) album artist

2) (track) artist

3) Genre

4) Style

5) Composer

6) Performer

7) Conductor

Regarding classical music, first I'm very happy to hear Emby has plan to improve the experience! You should definitely read the following tagging guide for classical music:

https://www.dailyrindblog.com/classical-music-metadata-101/

Unfortunately there lacks a common standard for tagging classical music, and the above guideline is the best I can find. In contrast to other type of music, "composer" is very important for classical music, and therefore to display and search by composer will be a very nice feature in Emby. After composer I'd say conductor being 2nd important.

The biggest problem with classical music is compilations, each album with different composers, conductors and performers, so the album artist can only be VA. For each track there could be  3-10 artists, and therefore "composer" and "conductor" are handy to use to find the work.

 

 

 

 

 

 

 

 

 

01. Christina Aguilera - Something's Got A Hold On Me.m4a

Edited by somy
Link to comment
Share on other sites

ginjaninja
1 hour ago, somy said:

Hi,

I think \\ is just how mp3tag display multiple values. It is standard to have multiple album artist entries and hence not necessary to use any separator. I attached the music files here for your testing.

When I tried with Exiftools I see the following result (there are two Genre entries and two AlbumArtist entries). 

[ExifTool]      ExifToolVersion                 : 11.55
[System]        FileName                        : 01. Christina Aguilera - Something's Got A Hold On Me.m4a
.........
[QuickTime]     GENRE                           : Pop
[QuickTime]     GENRE                           : Stage & Screen
.........
[ItemList]      Album                           : Burlesque (Original Soundtrack)
[ItemList]      AlbumArtist                     : Christina Aguilera
[ItemList]      AlbumArtist                     : Cher
[ItemList]      Artist                          : Christina Aguilera

I hope now you get why I think the splitting of genre and artist in Emby doesn't make any sense 🙂 As I mentioned all the players I use can recognise them (Kodi, Foobar2000, mp3tag, MediaMonkey), so I assume something wrong in the way how Emby handles multi-value tags. Being a developer myself, I can only guess Emby reads only the last entry and tries to split that entry. But the correct way is to read the array of all entries, and not try to split each one.

It has nothing to do with container format, I have flac, alac and dsf, all of them work fine for me with other players. In my experience the following tags allow multiple entries:

1) album artist

2) (track) artist

3) Genre

4) Style

5) Composer

6) Performer

7) Conductor

Regarding classical music, first I'm very happy to hear Emby has plan to improve the experience! You should definitely read the following tagging guide for classical music:

https://www.dailyrindblog.com/classical-music-metadata-101/

Unfortunately there lacks a common standard for tagging classical music, and the above guideline is the best I can find. In contrast to other type of music, "composer" is very important for classical music, and therefore to display and search by composer will be a very nice feature in Emby. After composer I'd say conductor being 2nd important.

The biggest problem with classical music is compilations, each album with different composers, conductors and performers, so the album artist can only be VA. For each track there could be  3-10 artists, and therefore "composer" and "conductor" are handy to use to find the work.

 

 

 

 

 

 

 

 

 

01. Christina Aguilera - Something's Got A Hold On Me.m4a 22.11 MB · 0 downloads

nb interesting classical feedback...FYI i think your classical suggestions will carry more weight in that other thread.

Edit

doh..ignore below, I have just realised that using artistS and albumartistS alone wont be a solution for you.. because you also need to split genre...so the only complete  solution would be if your clients could use a different separator (for all pertinent tags). mp3tag could switch all separators across all tags from \\ to ; 

so it seems that for the m4a file format, ffprobe (what emby uses to 'see' tags) only sees what is AFTER the \\...which makes sense given your reported symptoms. With mp3, ffprobe sees before \\ and with flac ffprobe see all (ie only works with \\ so far with flac)..(think i got my forward and back slashes mixed up previously but the point remains for \\).

Spoiler

@Lukeso its even worse news in that ffprobe isnt even consistently 'deficient' with this separator, i have confirmed it changes with the file format..

 

as an example i added the suggested tags and the multiple artists/albumartists show as expected, i have attached the file with the following metadata changes, so you see what the solution is.

image.png.18c7e4ab94b2e40d93f824c5091f9b61.png

image.png.9e464bbd5b8c738825461e16243466a6.png

perhaps you should test how this files looks in your other apps...ie can you achieve a good outcome in all your apps (inc emby and foobar) by populating artistS and albumartistS.? shout if its not clear how you would test yourself.

i used complete different artists (person A and Person B ), just to make the point that emby is ignoring artist tag when artistS tag is present..in a real world solution you would ensure the artistS and albumartistS tags contain the right artists with ';' separator.

i should have mentioned in previous post, there is one further workable 'potential' solution; given emby does not support \\ (as shown in mp3tag, what ever that is in the header) for mp3 and m4a (at least). Maybe there is a custom separator that you can specify in your foobar+discogs tagging app which is compatible with both platforms. If not then populating artistS and albumartistS is your next best bet i think.

01. Christina Aguilera - Something's Got A Hold On Me Tweaked.m4a

Spoiler

the exif was a red herring in terms of your emby solution...emby uses ffprobe, i was just illustrating to luke that other tools do understand the separator you are using.

 

Edited by ginjaninja
Link to comment
Share on other sites

9 hours ago, ginjaninja said:

nb interesting classical feedback...FYI i think your classical suggestions will carry more weight in that other thread.

Edit

doh..ignore below, I have just realised that using artistS and albumartistS alone wont be a solution for you.. because you also need to split genre...so the only complete  solution would be if your clients could use a different separator (for all pertinent tags). mp3tag could switch all separators across all tags from \\ to ; 

so it seems that for the m4a file format, ffprobe (what emby uses to 'see' tags) only sees what is AFTER the \\...which makes sense given your reported symptoms. With mp3, ffprobe sees before \\ and with flac ffprobe see all (ie only works with \\ so far with flac)..(think i got my forward and back slashes mixed up previously but the point remains for \\).

  Reveal hidden contents

@Lukeso its even worse news in that ffprobe isnt even consistently 'deficient' with this separator, i have confirmed it changes with the file format..

 

as an example i added the suggested tags and the multiple artists/albumartists show as expected, i have attached the file with the following metadata changes, so you see what the solution is.

image.png.18c7e4ab94b2e40d93f824c5091f9b61.png

image.png.9e464bbd5b8c738825461e16243466a6.png

perhaps you should test how this files looks in your other apps...ie can you achieve a good outcome in all your apps (inc emby and foobar) by populating artistS and albumartistS.? shout if its not clear how you would test yourself.

i used complete different artists (person A and Person B ), just to make the point that emby is ignoring artist tag when artistS tag is present..in a real world solution you would ensure the artistS and albumartistS tags contain the right artists with ';' separator.

i should have mentioned in previous post, there is one further workable 'potential' solution; given emby does not support \\ (as shown in mp3tag, what ever that is in the header) for mp3 and m4a (at least). Maybe there is a custom separator that you can specify in your foobar+discogs tagging app which is compatible with both platforms. If not then populating artistS and albumartistS is your next best bet i think.

01. Christina Aguilera - Something's Got A Hold On Me Tweaked.m4a 22.11 MB · 0 downloads

  Reveal hidden contents

the exif was a red herring in terms of your emby solution...emby uses ffprobe, i was just illustrating to luke that other tools do understand the separator you are using.

 

Thank you, glad to hear my input can be used to improve experience with classical music.

Regarding multi-value tags I found ffmpeg has many issues (some are still not fixed yet). For example the below ticket seems to be similar to my problem:

https://trac.ffmpeg.org/ticket/3125

Also here: https://trac.ffmpeg.org/ticket/6949

I strictly follow ID3v2.4 specifications which supports multiple values by a "null" separator:

There may only be one text information frame of its kind in an 
tag. All text information frames supports multiple strings, stored 
as a null separated list, where null is represented by the 
termination code for the character encoding.

So manually adding ";" or "\\" will make my library not compliant with standard, and hence can cause problems with other players.

To be honest, I'm very surprised to see ffmpeg guys don't care about it, even exiftools can show the tags correctly.

There are also other tagging problem I see with Emby, for example Emby doesn't read orientation info for raw photos, and therefore cannot display it correctly.

Maybe worthwhile to use other tag readers (such as exiftools)?

 

 

Link to comment
Share on other sites

ginjaninja

i took us on a round about route (apologies),  but we are at the nub of the issue (ffprobe's lack of support for \\ on common file formats)

38 minutes ago, somy said:

So manually adding ";" or "\\" will make my library not compliant with standard, and hence can cause problems with other players

i think you are probably right, that when using id3v2.4 , apps probably should use null as separator (i think \\ as shown in mp3tag is null btw)

but to borrow someone else's phrase.... don't make 'perfect' be the enemy of the good.

yes it would be perfect for ffprobe to get its act together on the 2.4 standard null separator for all filetypes or for emby to have an access to a performant alternative to ffprobe for music; but i suspect there is a solution that is compatible with all your applications which uses an alternative separator (perhaps using id3v2.3), perhaps using ';' or '/' as separator (and whitelisting genres with '/' in their name, IF the number is limited/luke can be persuaded, perhaps removing ',' as separator for genres if this is well accepted)

i think the ball is in your court to see if there is a compatible separator...and if there is then (if necessary) submit the feature request to sort out genre separation / whitelist after that..unfortunately there isnt a simple solution in this instance. I don't think you are alone so worth persevering.

Spoiler

in the worst case if there isn't an alternative compatible separator for all tags for all your apps, you may at least be able to use artistS and albumartistsS tags for emby with ';' separator, so this metadata preference (\\) generally works for emby ..allbeit not so much on genres.

@Lukedo you have a view on ffprobes inability to deal with (what i am guestimating is) null separator in eg id3v2.4 on some filetypes?

Edited by ginjaninja
Link to comment
Share on other sites

Hi @ginjaninja, @Luke

I did some quick tests with ffprobe and indeed it doesn't seem to read multi-value tags. I've seen lots of discussion regarding music tags supporting multiple values here:

There is already a standard id3v2.4 which support multiple values of the tags below, and it is implemented in most music players (foobar2000, Kodi, MediaMonkey):

 

  • album artist
  • (track) artist
  • Genre (maybe container dependent)
  • Style (maybe container dependent)
  • Composer
  • Performer
  • Conductor

Using a single value with separator sounds like a hacky solution to me, and not to mention the support of metadata editing is going to be a disaster for classical music.

The bug in ffprobe has been reported multiple times in the past, but they don't seem to care about them. So I think if Emby is serious about music tags, it's probably a good idea to read tags from other alternatives. As an example, I see a project switched to TagLib (https://github.com/mono/taglib-sharp/) to retrieve music tags, which works faster and better for those multi-value tags. There is also a similar request to Jellyfin to switch to TagLib: https://github.com/jellyfin/jellyfin/issues/667, maybe Emby can take a lead in this area?

 

 

Link to comment
Share on other sites

ginjaninja
17 minutes ago, Luke said:

I'd rather just resolve the problem in ffprobe.

does the emby dev team have any sway with ffmpeg team to address the issues mentioned recently above? i am assuming that an emby customisation of ffprobe is not realistic?

Link to comment
Share on other sites

39 minutes ago, Luke said:

I'd rather just resolve the problem in ffprobe.

Hi Luke,

The issues has been reporter to ffmpeg for years and they’re not fixed. Not sure how can we resolve it with ffprobe? The implementation doesn’t conform to the widely accepted tagging standard, which is a pity.

 

Link to comment
Share on other sites

  • 1 year later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...