SongKong Jaikoz

SongKong and Jaikoz Music Tagger Community Forum

How do Works work?

SongKong has a number of fields related to works, it can be a bit confusing to understand how they all work together, this article hopes to make things clearer.

Classical Works

The drive for adding works to SongKong is Classical music. In Classical music tracks are often grouped into works containing a number of movements . A work will be composer by a composer, but the album many consist of works by different composers.

As a classical music listener sometimes you may want listen in terms of albums, but other times in terms of works. So we need to store this information alongside the usual track/album information.

e.g. Here is an album of ten tracks representing three movements,one with two tracks, and two with four tracks, when simply displayed as album containing tracks it is rather cluttered:


but when we additionally group by Works, its is clearer

So we store the work in a Work field, and the movement name and position within the work as Movement and Movement No , the total number of movements in the work are stored in Movement Total.

But like most things there are complications.

  • Sometimes a movement is part of a work, but that work is itself part of larger work. This multi level structure is most apparent in Opera which typically has a number of tracks making up a Scene and a number of scenes contributing to an Act. To capture this at a simple level the top level work is added to the Overall Work field, if there is just one level of works then there will be the same value for Work and Overall Work
  • Sometimes a work just consistent of a single track, there are no movements below it. In this case we just add to Work and Overall Work and don’t add any movements.
  • Works are most useful for Classical music , however a work is simply just the music written down, so most tracks are actually based on a work but we are not so interested in this for pop music. Therefore we only complete the work and movement fields if SongKong has decided the music is classical and has set the Is Classical flag.
  • For MinimServer uPNP server we also store the work in the MinimServer Group field, but only if the work has multiple contiguous tracks representing movements in that work.

Work information is only added when we have matched to the MusicBrainz database. The work and movement information is deduced from a combination of the MusicBrainz song titles and works linked to the recording in the MusicBrainz database. Because classical recordings are often based in a country to different to where the work was composed we prefer to use the song titles, i.e given a recording of a Tchaikovsky work performed in the UK would be preferable to see English titles rather than the original Cyrillic titles, but sometimes only the works can be relied on to give accurate titles.

MusicBrainz Data

SongKong also captures the MusicBrainz data in a different set of fields, and these fields are completed for all songs with works not limited to classical music. if a song is directly linked to a work the id is stored in Mb Recording Work Id, the title in Mb Recording Work, and the work type in Part Type. If this work is part of another work and this is the top level work then work stored in Mb Work, work id in Mb Work Id and type in Work Type

the recording work details are always additionally stored in:

MB Work Level 1
MB Work Level 1 Id
Mb Work Level 1 Type

If you actually have a multi level work (such as an Opera) then each level is captured via three fields where N can be from 1 to 8

MB Work Level N
MB Work Level N Id
Mb Work Level N Type

we start counting from One so a work with four levels would use the following fields:

MB Work Level 1
MB Work Level 1 Id
Mb Work Level 1 Type
MB Work Level 2
MB Work Level 2 Id
Mb Work Level 2 Type
MB Work Level 3
MB Work Level 3 Id
Mb Work Level 3 Type

the top level is just stored in:

MB Work
MB Work Id