Home User Forums SongKong Music Tagger Jaikoz Music Tagger Albunack Music Service

Song Tagging and Metadata Blog

Saturday, 8 April 2017

MinimServer with SongKong: Part 5: The Artist Index

 Go back to Part 4: Groups and Works


The Artist Index

Standard audio file metadata has two artist fields, artist and albumArtist. The albumArtist should be the same for all tracks on the release, the artist relates to the track and can therefore be different for each track.

By default MinimServer configures an All Artist index that indexes the (track) artist field, and a Artist index that contains just the albumArtist unless that is missing in which case the (track) artist is used instead.

Multiple Artists

Often a release or track is credited to multiple artists Because many applications such as iTunes do not understand multiple values in these fields SongKong stores multiple people as one value in the artist and albumArtist field. But then stores the individual people in corresponding multi value fields artists and albumArtists

MinimServer does understand multiple values so its best to configure it to use these fields rather than the default.

We do this by mapping artists to artist and albumArtists to albumArtist, but we also have to map artist to nil and albumArtists to nil or we end up with the artist and albumartist values in the index as well. Use of nil is just a convention any value that is not used later on could be used.

We probably want to sort artists by their sort names as well. SongKong provides special sort fields that work with the multiple value artist fields called artists_sort and album_artists_sort so lets add these in as well using the same method we used for composer and conductor sort this gives us:

Now when we browse Artists index we go from


Notice that in the first screenshot we have Dallas Symphony Orchestra, Edwardo Mata but in the second screenshot we have Dallas Symphony Orchestra on its own, Eduardo Mata is also listed alone (under M).

The advantage of this is you can now easily browse all the releases that Dallas Symphony Orchestra are involved in regardless of other artists involved.

What is a Classical Artist ?

We have seen how to deal with multiple artist credits, but what should the artist and album artist actually include: soloists, performers, orchestras, conductors or composers ? 

We discuss this more in the next post.

Tuesday, 4 April 2017

MinimServer with SongKong: Part 4: Groups and Works

Go forward to Part 5: The Artist Index
Go back to      Part 3:Sorting Conductor and other fields


Groups and Compositions

Minimserver has the concept of Groups and Compositions. In its purest sense Groups are simply a way to groups tracks within a particular album. Whereas Compositions are analogous to a Classical Work, all movements in the work should have the same value for Composition, the Composition field can then be indexed and browsed in the same way as artist or album.

The curious thing is that usually tracks should have the same valufor both (we will explain the differences later on). Lets return to groups, they are really most useful for Classical releases to indicate that certain tracks are all movements of the same work.

Groups Example

Without using groups all tracks are listed in track order when you open an album

But with groups we see the groups representing a work when you open the album. This is much clearer, we can clearly see at a glance there are two different works, String Quarter in G minor Op 10 and String Quartet in F major. This makes sense because it is more common to play the complete work rather than just one movement of the work

but you can still double click on a group to see the  movements contained within, and play individual tracks.

Configuring Groups with SongKong

So how can SongKong help? 

MinimServer discusses a Group field, but this not a standard metadata field.
SongKong identifies Classical releases and the works and movements within those releases, the Works are stored in the Work field.

So all you have to do is configure MinimServer to read the Work field and use it for the Group field.
  • Add Work to itemTags so the Work metadata is read
  • In tagValue set Work as the default field to use for Group 
  • Tell MinimServer to Rescan

Browsing by Works

So now we have tracks grouped by works within albums, but we cannot yet browse works from the top level. To do this simply move Work from the itemTags field to the indexTags field as follows:

and Rescan.

Now you can browse the Work index

If you open a Work Composition item, it then shows the Work Group  



When Works and Groups are different

So we can see that usually it makes sense for Work and Group have the same value, but not always. 
  • Sometimes movements are not listed contiguously within an album. MinimServer does not support non-contiguous Groups, but there is no such restriction on MinimServer Works
  • For multi-level works such as an Opera, containing Acts and Scenes it may be preferable to have groups at the Act level  and a single work representing the Opera itself

Configuring different fields for Work and Group

SongKong Works are currently analogous to MinimServer Groups. If you need different values for Work and Group SongKong can be configured to also write the Work value to the Grouping field by setting the Copy Work to Grouping field
to Yes

The Grouping field is mapped to the ContentGroup field by MinimServer, except for Flac/Ogg. SongKong writes Flac/Ogg to the Grouping field which is not mapped by MinimServer. To use the Grouping field for Group, and Work field for the Work and have it work for all formats you can configure as follows:

Editing Values

At this point the values are the same for both, but you could use a tagger such as SongKong's big brother Jaikoz to modify each value independently.


Future Improvements

We plan to add direct support for writing independent values for Work and Group that allow for the differences in use in MinimServer.

Next Time

Next time we look at artists

Jthink blog Jthink Facebook page google_plus Jthink YouTube channel Email Paul at Jthink Subscribe to Weekly Newsletter