Jump to content


Photo

Add a specific content type for classical music

Classical music Metadata

  • Please log in to reply
45 replies to this topic

#1 Marin OFFLINE  

Marin

    Member

  • Members
  • 16 posts
  • Local time: 10:39 AM
  • LocationNice, France

Posted 10 January 2016 - 06:00 AM

Hi,

 

Some of us listen to classical music and maintain extensive collections of it. Unfortunately, proper classical music sorting requires different metadata fields than pop music. For example, the composer field is not very important with pop music, but is a big requirement with classical music.

 

Currently, Emby supports a single content type for music, which is tailored for pop music. It has views to list Artists, Album artists, Albums, Songs and Genre. I propose to create a second content type dedicated to classical music. This would be a very coherent move since there already are distinct content types for movies, series, concerts or home movies, even if they all deal with video files.

 

The views of this new content type would better fit classical music: for example, we would be able to list music by composer or by conductor, but not by song as this does not mean anything in classical music.

 

Furthermore, audio metadata support should be improved. Currently, Emby supports the Composer tag. That's great, but not enough to deal properly with a classical music collection. We need to support a bunch of other tags, like the Conductor, Performer and Orchestra tags. Adding support for such tags should not be very difficult, as many of them are part of the official ID3 specifications and already supported by ffprobe.

 

Classical music support is a very important feature for me and some other people. So important that I would even pay to have it added to Emby. If I can help to build it, I would do it very happily.

 

If developers do not wish to add those features, maybe it could be implemented by a 3rd-party plugin. In that case, could someone point me towards some kind of guide or tutorial to get started ? I know C# and .Net but have no idea about how Emby works with plugins, and how to extend the metadata schema.

 

Thanks!

 

Marin.


Edited by MarinBernard, 10 January 2016 - 06:04 AM.

  • thealienamongus, dazed, spudd and 8 others like this

#2 Luke OFFLINE  

Luke

    System Architect

  • Administrators
  • 135018 posts
  • Local time: 05:39 AM

Posted 10 January 2016 - 11:42 AM

What content provider?



#3 Marin OFFLINE  

Marin

    Member

  • Members
  • 16 posts
  • Local time: 10:39 AM
  • LocationNice, France

Posted 10 January 2016 - 12:19 PM

Hi and thanks for answering,

 

I'm sorry; maybe that's not the proper way to call it. The screenshot below shows what I call content providers:

 

56927eeb2e4c7_embycontentproviders.jpg

 

Currently, there is one generic content provider for audio media called Music (or Musique in French). But there are 4 distinct content providers for video media (Movies, TV, Home videos and Music videos), as these need to be handled differently.

 

What I propose is to add another provider to the list which would be dedicated to classical music files. This would allow us to show the content of a music library in a way that fits classical music (for instance adding tabs to show lists of composers / conductors, while removing the Songs tab which would be useless in a classical music library).

 

Another change would be add support for a short list of specific audio tags (maybe 5 max.) which are both standard and important to support classical music. The Conductor tag could be one of them: it is officially supported by ID3 and is an almost standard tag in the FLAC/APE universe (I say almost because there is no real taxonomy standard with VorbisComment. MusicBrainz uses it as well as a lot of other tagging software).

 

Hope I'm clearer!


Edited by MarinBernard, 10 January 2016 - 12:19 PM.

  • Luke and wolfgang like this

#4 wolfgang OFFLINE  

wolfgang

    Advanced Member

  • Members
  • 43 posts
  • Local time: 10:39 AM
  • LocationAustria

Posted 10 January 2016 - 02:48 PM

 

What I propose is to add another provider to the list which would be dedicated to classical music files. This would allow us to show the content of a music library in a way that fits classical music (for instance adding tabs to show lists of composers / conductors, while removing the Songs tab which would be useless in a classical music library).

 

Another change would be add support for a short list of specific audio tags (maybe 5 max.) which are both standard and important to support classical music. The Conductor tag could be one of them: it is officially supported by ID3 and is an almost standard tag in the FLAC/APE universe (I say almost because there is no real taxonomy standard with VorbisComment. MusicBrainz uses it as well as a lot of other tagging software).

 

That indeed would be wonderful.


  • Marin likes this

#5 Deathsquirrel OFFLINE  

Deathsquirrel

    Advanced Member

  • Members
  • 1996 posts
  • Local time: 02:39 AM

Posted 10 January 2016 - 04:15 PM

This sounds beyond the purposes of a content provider entry.  Adding support for standard ID3 tags should be easy and doesn't require a new provider.  Adding UI to support the data would be client specific so might require multiple feature requests for the clients uou use.  Rebuilding the web UI to be classical-focused would likely require a plugin, assuming that sort of thing can be done through plugins.

 

Since lots of us have mixed libraries of many kinds of music I'd suggest starting with tag support as a focus.  It helps classical fans and doesn't hurt anyone else.  What are the tags you want?  I assume Conductor and Composer but you said about 5.  Assuming the tags are of that nature it would be good to support those entries as artist\people-type records with support in the web ui for displaying the new entries and allowing you to click them like any other artist record to see all the relevant works.  Once it exists in the server it can be added to clients.


  • thealienamongus and Marin like this

#6 dazed OFFLINE  

dazed

    Advanced Member

  • Members
  • 98 posts
  • Local time: 09:39 AM

Posted 11 January 2016 - 08:31 PM

Something similar to this?


  • Marin likes this

#7 Marin OFFLINE  

Marin

    Member

  • Members
  • 16 posts
  • Local time: 10:39 AM
  • LocationNice, France

Posted 12 January 2016 - 01:44 PM

Something similar to this?

 

Similar, yes. Do NFO files made by Emby need to be compatible with Kodi? If so, i seems Kodi needs to support them first.

 

 

This sounds beyond the purposes of a content provider entry.  Adding support for standard ID3 tags should be easy and doesn't require a new provider.  Adding UI to support the data would be client specific so might require multiple feature requests for the clients uou use.  Rebuilding the web UI to be classical-focused would likely require a plugin, assuming that sort of thing can be done through plugins.

 

Since lots of us have mixed libraries of many kinds of music I'd suggest starting with tag support as a focus.  It helps classical fans and doesn't hurt anyone else.  What are the tags you want?  I assume Conductor and Composer but you said about 5.  Assuming the tags are of that nature it would be good to support those entries as artist\people-type records with support in the web ui for displaying the new entries and allowing you to click them like any other artist record to see all the relevant works.  Once it exists in the server it can be added to clients.

 

 

Support also needs to be added for Vorbis. Many classical music lovers have files in lossless quality (mine are in FLAC) and use Vorbis Comments to tag them. I said 5 tags max. because I didn't want to scare the devs ;-) Dazed's pull request already mentions 3 of them: Conductor, Composer and Ensemble. I would add Performer and Work Title. The first four tags describe individuals or artists, so they may appear as People/Artists in search results. The last one is the title of the work which is performed; I put is as a bonus tag as it's not vital.

 

MusicBrainz Picard maintains a table of mappings between different tag formats. Most of those tags are officially supported by ID3 and are almost standard with Vorbis: http://picard.musicb.../docs/mappings/

 

Adding support for those tags would be great but we also need to be able to browse them. It would be sad to add a new shiny Conductor tag, have many tracks use it, and not to be able to show that data because no view is aware of it. The new Classical music content provider could be created by cloning the current Music provider. Doing it that way would allow client apps to browse classical music libraries the same way they currently do with pop music, as the current views could be kept as some kind of failover mechanism. New, classical-focused views could then be added to that new provider. These would be supported by the Web UI first; then client apps could be patched to support it too if there's a need for it.

 

By the way, Emby already includes largely unsupported content providers (like the Books or Games providers). If the new Classical music provider is able to expose the current pop music views to client apps which don't support the new ones, there wouldn't be any real compatibility problem, right ?

 

Thanks to everyone who's thinking about it!

 

Marin.



#8 ebr OFFLINE  

ebr

    Chief Bottle Washer

  • Administrators
  • 46140 posts
  • Local time: 05:39 AM

Posted 12 January 2016 - 02:15 PM

Edited title because what you are actually asking for is a new content type.


  • Marin likes this

#9 chef OFFLINE  

chef

    Advanced Member

  • Developers
  • 3863 posts
  • Local time: 05:39 AM
  • LocationPeterborough, Canada

Posted 12 January 2016 - 02:57 PM

I have finally found an online API which will reference "Composer" meta information. Not sure if it will work for classical music, or how large the database actually is.

 

 

https://freemusicarchive.org/api/docs/

 

 

Hilariously, this API will rate the "Dancability" for a song... but, it has a composer field.


Edited by chef, 12 January 2016 - 02:59 PM.


#10 Luke OFFLINE  

Luke

    System Architect

  • Administrators
  • 135018 posts
  • Local time: 05:39 AM

Posted 12 January 2016 - 03:00 PM

Hi,

 

Some of us listen to classical music and maintain extensive collections of it. Unfortunately, proper classical music sorting requires different metadata fields than pop music. For example, the composer field is not very important with pop music, but is a big requirement with classical music.

 

Currently, Emby supports a single content type for music, which is tailored for pop music. It has views to list Artists, Album artists, Albums, Songs and Genre. I propose to create a second content type dedicated to classical music. This would be a very coherent move since there already are distinct content types for movies, series, concerts or home movies, even if they all deal with video files.

 

The views of this new content type would better fit classical music: for example, we would be able to list music by composer or by conductor, but not by song as this does not mean anything in classical music.

 

Furthermore, audio metadata support should be improved. Currently, Emby supports the Composer tag. That's great, but not enough to deal properly with a classical music collection. We need to support a bunch of other tags, like the Conductor, Performer and Orchestra tags. Adding support for such tags should not be very difficult, as many of them are part of the official ID3 specifications and already supported by ffprobe.

 

Classical music support is a very important feature for me and some other people. So important that I would even pay to have it added to Emby. If I can help to build it, I would do it very happily.

 

If developers do not wish to add those features, maybe it could be implemented by a 3rd-party plugin. In that case, could someone point me towards some kind of guide or tutorial to get started ? I know C# and .Net but have no idea about how Emby works with plugins, and how to extend the metadata schema.

 

Thanks!

 

Marin.

 

Hi, did I ask you in another thread to create an ffprobe sample from a file? if so, can you do that again so that I can see how we'll extract conductors and performers? we are already grabbing composers, just not displaying them in the UI. thanks.



#11 Marin OFFLINE  

Marin

    Member

  • Members
  • 16 posts
  • Local time: 10:39 AM
  • LocationNice, France

Posted 12 January 2016 - 03:28 PM

Hi,

 

Yes, you did! Here it is:

        "tags": {
            "BARCODE": "0028945758121",
            "TITLE": "Symphony No. 9: I. Andante comodo",
            "RELEASECOUNTRY": "DE",
            "TOTALDISCS": "1",
            "LABEL": "Deutsche Grammophon",
            "TOTALTRACKS": "4",
            "COMPOSERSORT": "Mahler, Gustav",
            "MUSICBRAINZ_ALBUMARTISTID": "8d610e51-64b4-4654-b8df-064b0fb7a9d9;509c772e-1164-4457-8d09-0553cfa77d64;3bce590b-479f-42ca-b9e0-82883e0db9a2",
            "COMPOSER": "Gustav Mahler",
            "DATE": "1998",
            "disc": "1",
            "TRACKTOTAL": "4",
            "MUSICBRAINZ_RELEASETRACKID": "9645565c-2f10-36c4-bb2c-8652d338db32",
            "ASIN": "B00000613T",
            "ALBUMARTISTSORT": "Mahler, Gustav; Chicago Symphony Orchestra, Boulez, Pierre",
            "ORIGINALDATE": "1998",
            "CONDUCTOR": "Pierre Boulez",
            "SCRIPT": "Latn",
            "WORK": "Symphony no. 9 in D major: I. Andante comodo",
            "MUSICBRAINZ_ALBUMID": "afadfeaf-0c05-4b49-a29a-023d3df63b08",
            "RELEASESTATUS": "official",
            "album_artist": "Gustav Mahler; Chicago Symphony Orchestra, Pierre Boulez",
            "CATALOGNUMBER": "457 581-2",
            "ALBUM": "Symphony no. 9",
            "MUSICBRAINZ_ARTISTID": "8d610e51-64b4-4654-b8df-064b0fb7a9d9",
            "MEDIA": "CD",
            "RELEASETYPE": "album",
            "ORIGINALYEAR": "1998",
            "PERFORMER": "Chicago Symphony Orchestra (orchestra)",
            "ARTIST": "Gustav Mahler",
            "DISCTOTAL": "1",
            "MUSICBRAINZ_RELEASEGROUPID": "3c6bd5af-cadd-335f-96f9-30960ed915d1",
            "MUSICBRAINZ_WORKID": "22cc1e5f-0796-3bbf-9cb4-61aea8825917",
            "MUSICBRAINZ_TRACKID": "3681c92f-cb85-4587-95dd-91e8ed72d472",
            "ARTISTSORT": "Mahler, Gustav",
            "ARTISTS": "Gustav Mahler",
            "track": "1"
        }

It's only the "tags" node. The full output of ffprobe is attached.

 

Further to the semicolon delimiter thread, note that MusicBrainz also uses the comma as an artist delimiter when dealing with classical music:

"album_artist": "Gustav Mahler; Chicago Symphony Orchestra, Pierre Boulez",

In classical context, the semicolon is used to separate composers from performers, and as such will only appear once in the string. But commas are used to distinguish between multiple composers or performers. In the example above, there is only one composer credited on the album (Gustav Mahler), but two performers: one orchestra and a conductor. So maybe adding the comma as a valid artist delimiter would also be needed.

 

Thank you for your time!

Attached Files


Edited by Marin, 12 January 2016 - 04:23 PM.


#12 wolfgang OFFLINE  

wolfgang

    Advanced Member

  • Members
  • 43 posts
  • Local time: 10:39 AM
  • LocationAustria

Posted 13 January 2016 - 12:09 PM

I just wanted to thank you guys for your work on this. I'm really looking forward to see this feature implemented.


  • Marin likes this

#13 Marin OFFLINE  

Marin

    Member

  • Members
  • 16 posts
  • Local time: 10:39 AM
  • LocationNice, France

Posted 16 January 2016 - 04:27 PM

Could all people interested in that feature like the first post to bump the reputation score ? As of now, reputation is zero; this doesn't seem fair!

 

Thanks!



#14 wolfgang OFFLINE  

wolfgang

    Advanced Member

  • Members
  • 43 posts
  • Local time: 10:39 AM
  • LocationAustria

Posted 07 February 2016 - 01:20 PM

Any news on that one?



#15 Luke OFFLINE  

Luke

    System Architect

  • Administrators
  • 135018 posts
  • Local time: 05:39 AM

Posted 07 February 2016 - 02:45 PM

I think it would be better to extend our current music features to accommodate classical. Can you guys offer some suggestions on how we might do that?



#16 wolfgang OFFLINE  

wolfgang

    Advanced Member

  • Members
  • 43 posts
  • Local time: 10:39 AM
  • LocationAustria

Posted 07 February 2016 - 05:19 PM

I'd love to help you. Basically, what we need is the support for (at least) the composer tag of the audio files. So you can sort by "Beethoven" (for example) and you can find all the albums/symphonies/whatever by Beethoven, Ludwig van. I personally tag the work, which may consist of several files (movements) as album. So it would go like Beethoven->Symphony 9. Inside Symphony 9 there would be the four files for the four movements.

 

This would be an enormous help. In an extended version there could be support for the artist too. This symphony has been recorded by both the Vienna Philharmonic Orchestra and the Berlin Philharmonic Orchestra (and 10000x more, but I keep it simple to explain ;). So it would be nice to choose the version, the recording. Like: Beethoven->Symphony 9->Vienna Philharmonic Orchestra.

 

I'm not sure which kind of information you need, but please don't hesitate to ask.



#17 Marin OFFLINE  

Marin

    Member

  • Members
  • 16 posts
  • Local time: 10:39 AM
  • LocationNice, France

Posted 12 February 2016 - 01:20 PM

Hi,

 

I think classical improvements may be split in two categories:

  1. Add support for new tags
  2. Add new tabs to the music view

I saw support was added for the 'composer', 'conductor', 'writer' and 'lyricist' tags. That's really great. Thanks for that!

I suggest to add support for some more tags, at least the ENSEMBLE and PERFORMER ones which are really needed for basic classical music management. That's what Kodi are doing right now with Kodi v17 (see the table at the bottom of this page: http://kodi.wiki/view/Music_tagging).

 

Afterwoods the real hard work will be to have Emby display actual data which were gathered from those tags. This means adding new tabs to the current music view to sort the library by composer or conductor. Those tabs could be disabled by default as most people won't use them. Users interested in these features them could enable them in the server preferences.

 

Thanks for what you are doing and the time you spend doing it.



#18 Vicpa OFFLINE  

Vicpa

    Advanced Member

  • Alpha Testers
  • 1427 posts
  • Local time: 05:39 AM
  • LocationWest Chester, Pa. USA

Posted 12 February 2016 - 02:35 PM

 

I saw support was added for the 'composer', 'conductor', 'writer' and 'lyricist' tags. That's really great. Thanks for that!

 

 

Hi Marin,

 

I don't believe "writer' and 'lyricist tags have made it into the server yet :(. I put in a pull request several weeks ago that is still pending. It is pretty easy to add tags..... if they fit into the existing model somewhere. Lyricist is just another person type and writer already exists just needed to be captured for music.

 

Please excuse my ignorance of classical music tagging.

 

Performer is a little more problematic. Picard tags pop music with performer(instrument etc) which kinda fits similar to actor-role. How does it work in classical music.

 

Same with Ensemble is that an "artist" or "band" for lack of a better term.  Are you looking for Ensembles to show up in the album artist, artist list ? or a separate tab?

 

You are correct that the display is where the heavy lifting is needed (@Luke) :)‚Äč.

Maybe we can lobby for search to include people types, it was removed in recent releases. Then you could search for things like "conductor" and "lyricist".

 

 

-Vicpa


  • Marin likes this

#19 Marin OFFLINE  

Marin

    Member

  • Members
  • 16 posts
  • Local time: 10:39 AM
  • LocationNice, France

Posted 13 February 2016 - 12:17 PM

Hi Vicpa,

 

The 'performer' tag works exactly the same in classical music. The name of a performer may be followed by the name of the instrument she plays, between round brackets. This means the string should be parsed to remove the instrument suffix: this would allow us to store performers as regular instances of the Person type. Instrument info may just be discarded for now, as they are not as important as performer names. Support for them could be added later, if needed.

 

The 'ensemble' tag stores the name of a musical ensemble, which might be a band, an orchestra, a choir, or any other group of music players. The name of this tag is very generic and that's by design, to avoid the use of tens of specific tag names describing any kind of musical ensemble. I don't know if Emby has a Band or Group type, but any of those would fit.

 

Regarding the view:

 

In a classical music library, the "artist", "artists", and "album artist" tags are very seldom used, because they're too vague: an "artist" on a classical music track may be a composer, a conductor, a performer, a lyricist, a writer or an ensemble. That's why supporting those new tags is so important. Like many people, I still add regular "artist" / "album artist" tags to my music files to deal with music players which do not support advanced music tags (most of them don't). Yet, those tags only allow me to browse my media on limited devices. I don't use them if I can avoid it, and all classical lovers do the same.

 

That's why the "artist" and "album artist" tabs of the current music view are irrelevant with a classical music library, and need to be replaced with "Ensemble", "Performer", "Composer" and "Conductor" tabs. All those tabs would ideally list albums, not single tracks. Removing the "artist" / "album artist" tabs from the view would not fit popular music consumers, though: that's why I proposed to create a distinct content type in the first post of this thread. Another way of doing things would be to allow tabs to be enabled/disabled in the server preferences.

 

Now back to reality: yes, adding a way to search for a "conductor" or a "lyricist" would still be awesome!

 

Thanks!

 

Marin.



#20 wolfgang OFFLINE  

wolfgang

    Advanced Member

  • Members
  • 43 posts
  • Local time: 10:39 AM
  • LocationAustria

Posted 13 February 2016 - 01:25 PM

The search option for composer should be top priority in this request. It would make Emby at least usable for classical music, a major improvement. In WebUI and all apps.


  • Carbunicle and Bainsey like this





Also tagged with one or more of these keywords: Classical music, Metadata

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users