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

Song Tagging and Metadata Blog

Monday, 26 June 2017

SongKong 4.9.1 Release, 26th June 2017

A bug was introduced into SongKong 4.9 that affected a few of you. If you have:
  • Rename Files enabled 
  • Include album name as a part of your rename mask 
  • Have albums that contain '.' character in their name
it can cause SongKong to go into an endless loop, so we needed to get that fixed.

We also fixed an issue whereby if a songs could not be loaded from a folder it could prevent any other songs being loaded from the same folder.

We also fixed some issue in the reports.
  • The Matched to MusicBrainz Song Only links were broken
  • The report was missing blue section dividers
  • The summary chart did not correctly label Matched Song only and Matched to Acoustid Song Only part of the MusicBrainz bar when hovering over the bar

Wednesday, 21 June 2017

MinimServer with SongKong Part 11: MinimServer Configuration

Part 10: MultiDisc Albums

Today we provide a sample MinimServer configuration that provides the functionality discussed in parts 1 - 10.

You should consider your existing configuration and your own particular circumstances but essentially if you are running MinimServer on a local computer you simply:
  • Open MinimServer properties tab
  • Copy and Paste the values below for the correct fields
  • Run Rescan
To modify the configuration of  MinimServer running  on a remote system such as a Melco N1 you need to:
  • Install MinimWatch
  • Connect to the Melco instance
  • Open MinimServer properties tab
  • Copy and Paste the values below for the correct field
  • Run Rescan

MusicBrainz Album Type:Album Type, Artist, All Artists, BPM, +Date, +OriginalDate:Original Date, Choir, Composer, Conductor, Ensemble, Genre, Instrument, is_classical=1:Is Classical, is_classical_copy=0:Is Non Classical,Orchestra, Performer_name:Performer,Overall_work:Work,

composersort, conductor_sort, artists_sort, album_artists_sort,choir_sort, ensemble_sort, orchestra_sort, performer_name_sort


Composer.value.sort={ComposerSort},Conductor.value.sort={Conductor_Sort},artist.value.sort={artists_sort},albumartist.value.sort={album_artists_sort},Choir.value.sort={choir_sort}, Ensemble.value.sort={ensemble_sort},Performer_name.value.sort={performer_name_sort},is_classical_copy.default={is_classical}

Giving something similar to 


Monday, 19 June 2017

MinimServer with SongKong Part 10: MultiDisc Albums

Part 11: MinimServer Configuration
Part 9: Is Classical and other boolean fields

All Albums

MinimServer identifies songs to be part of the same album if they have the same value for the AlbumArtist field and Album field. 

By default MinimServer does this check at a folder level but if your albums are organized so they traverse multiple folders you can find matching albums in different folders by setting mergeFolderAlbums to true. But I would certainly advice that unless you have a very good reason you should organize albums so that each is stored in a different album folder that is within an album artist folder.

Multidisc Albums

The same applies for Multidisc albums but MinimServer is also clever enough to identify if you have each disc in a separate folder within a main folder without you having to set mergeFolderAlbums to true. You need to ensure the discno and trackno fields are completed as well, but they always are if identified with SongKong.

But by default MinimServer displays all the tracks on the release as if they are on a single disc.

So here we have actually have a 2 disc release, the first disc has 17 tracks and the second disc has 19 tracks but MinimServer shows it as a single 36 track release.

The reasoning behind this is that for Classical releases the work can sometimes bridge multiple discs and that makes playing a single work awkward. So removing the disc boundaries solves that issue.

But I want to show the discs

But where the bridging work is not an issue, it is often preferable to show the discs. This better represents the physical release that you are already familiar with, and breaks down larger releases into more manageable sections.

Configure the Album name

Earlier we said that the Album Name must be the same for all tracks, actually MinimServer does some special parsing of the album name that means that if extra per disc information is stored at the end of the album name that MinimServer will parse it and use it to display each disc.

SongKong can add this data automatically by setting the Multi Disc Releases option to Always add Disc No to the release title

Note that the album name now has (disc 1) added.

 If you rescan the files in MinimServer you can see the tracks are now grouped by disc with track numbers per disc. Also note that MinimServer parses the extra information added to the release title but does not display it (of course it would not really be able to in a sensible way since it is different for different discs).

Using the Disc Subtitle

There is another way to show a release as multi-disc albums and this is with the Disc Subtitle field. If the disc subtitle field has a value then the release is shown as multi-disc without having to make any differences to the release title field.

Some releases have an actual disc name rather than just Disc 1.. N. For these releases SongKong will automatically fill in the Disc Subtitle field such as this one which displays as multi-disc with MinimServer.

This usually makes sense since when releases have labelled their discs individually they usually can exist as standalone work. For example in this release the album Tolerance / Bop by Blue Aeroplanes is actually a compilation of two albums previously released called Tolerance & Bop.

SongKong doesn't use the Disc Subtitle field for multi-disc releases that don't have a disc title since that would not meet the metadata standards. But if you wanted to use this approach for all your releases you could manually enter data for this field with another tag editor such as Jaikoz.

SongKong 4.9 Release with improved support for libraries with multiple transcoded versions of same album

SongKong 4.9 released 19th June 2017.

Reports have got a little Funkier

We have split the Summary into a Summary section and an Options section.

The Summary section now summarizes results using a bar chart, this is much simpler to understand then the previous text only method.

Matched to Release, Matched to Discogs and Matched to AMG have been improved, artwork is shown, songs are grouped by discno, and multiple groups matched to the same album are now grouped in their own group. 

Transcoded versions of the same file

Its is becoming more common for customers to have multiple versions of the same album, typically a lossless hi-end version and a lossy version for the car or iPod.  

We have made a number of improvements to SongKong to help with this.

File rename keeps album together

Before if you had two copies of the same album and you had SongKong configured to rename files based on metadata you could end up with a single folder containing both sets of files. Now SongKong intelligently recognizes the same album has been matched more than once and creates separate folder for each set of matching files. This happens automatically without any user configuration changes required.

Add audio format to release title

We can also easily add the audio format to the release metadata itself, this helps you to identify different versions of the same release when viewing within your player or UPnP control point.

Find Duplicates within same audio format only

We have also improved Delete Duplicates so that searches can be restricted to be within a particular format. This makes it easy to keep multiple versions of the same file but with different formats whilst still finding actual duplicates.

The full list of improvements and fixes can be found here

Monday, 12 June 2017

MinimServer with SongKong: Part 9: Is Classical and other boolean fields

Part 10: Multi Disc Albums
Part 8 : Configuring the Date Index

Problem:Most of us have a mixed Classical/Non Classical music library and sometimes its nice to be able to simply browse one category or the other. The way this is usually done is by using the genre field, but then this means that all our Classical music has to be given the same genre when what we probably want to do is categorize by subgenres within Classical.

Solution:SongKong music identification album categorizes albums as non-classical/classical and helpfully writes an Is_Classical boolean field to the files themselves so we can use this to split our albums into two groups for easier browsing.

Boolean fields in MinimServer 

A boolean value is simply a field that has only two values. So if we just add IS_CLASSICAL to indexTags we can then browse by two values 

But MinimServer provides a nice shortcut to go straight to a value by using the fieldName:MapValue:NewName syntax



So now when you click on IsClassical it takes you to the classical only albums. The only trouble with the approach is that there is no no way to go to only the non-classical albums.

Browsing both values of a Boolean field

But there is a way to do this as well. It is slightly convoluted you need to add another mapping to the zero value from a pseudo field which is then populated from the original field



 Now we can browse by both IsClassical and IsNonClassical easily.


Wednesday, 24 May 2017

MinimServer with SongKong: Part 8: Configuring the Date Index

Part 9: Is Classical and other boolean fields
Part 7: Album Artist

The Date field generally stores the release date of the album. Note ID3v24 formats also have a ReleaseDate field but it is not generally used. By default MinimServer lists the date in descending order as follows:

But Date or any other field can easily be shown in ascending order by adding a '+' sign before the field name in the indexTags option

This now shows the date ordered the other way round

The Date value can be in dd-mm-yyyy, mm-yyyy or yyyy formats. Your file metadata may contain all three types , browsing can be made simpler by simply displaying only the year part and this can be done by adding 


Now we have a grouping by year only which is more readable.

We may wish to browse by Original Date as well, this stores the date of the first release the song was released on, this is particularly useful when you have compilation albums or reissued albums.

We can add Original Date in the same way

You may only be interested in the Original Date and would like it as the Date, in this case you can map to Date using an aliasTag.

This works nicely within MinimServer but if you need to do this so your files metadata outside of MinimServer use Original Date as date then you can configure SongKong to always put Original Date into the Date field by enabling Use Original Release Date on the Album Format tab.

Sunday, 14 May 2017

hi-fi News - SongKong King of Apps ?

We got a nice mention in the latest edition of hi-fi news
as part of a review of the second generation Melcos.

.. with particular benefits for those whose collection goes beyond the usual artist/song/album norm, such as jazz and classical music enthusiasts. What's more, it allows a high degree of user-customization to suit specific needs

Thanks guys.

JThink will be at Hi End Audio show at Munich with Melco

The Hi-End Audio show in Munich is one of the largest and most important in the World. Its runs from the 18th to 21st of May at the MOC in Munich, and has exhibitors showing just about anything connected to Hi-Fi

As part of the recent partnershop with Melco I will be at the show demonstrating SongKong and available to have a chat about anything metadata related or not metadata related !

Please come and visit, I should be at Atrium 3 D102-105 for most of the four days.

Friday, 12 May 2017

MinimServer with SongKong: Part 7: Album Artist

Go forward to  Part 8: Date
Go back to      Part 6: Classical Track Artist

The Album Artist stored in MusicBrainz replicates what is written on the spine or front of the disc.This represents the the main people that the release is credited to. 

For Pop/Rock this is quite straight forward, usually a single performer or band is credited for the release as a whole and all the tracks, with perhaps an additional performer credited on a couple of tracks.

For Classical music its more complex since first of all more people are involved such as composers, conductors, performers and orchestras. Secondly these people are not all involved in all tracks, certainly when multiple works by different composers exist on a single album

The Album Artist can be used in two different ways:
1. As a way to browse for releases that a particular person or group were involved in.

2. As a way to correctly identify a release, allowing us to differentiate between different releases with the same or similar names.

And this gives us a dilemma.......

To achieve 1. when a release is credited to multiple people it is better to map album_artists to albumartist so then you can browse by the individuals involved in a release.

But to achieve 2. it is easier to identify the albums if you can see the full list of people credited to the album.

If we want to both, then we can configure as follows

Add Album_artists to indexTags 
Add albumartist_sort, album_artists_sort to itemTags
Add albumartist.value.sort={albumartistsort}, album_artists.value.sort={album_artists_sort} to TagValue

This leaves the Artist index as the default configuration, this is useful for differentiating between similarly named albums. 

It then adds a Album_Artists index that lets us browse by the individuals credited on the release and is useful for viewing all releases that they were a principal person or group.

If alternatively we only want to be able to browse by the individual album artists we can map just albums_artists to album_artist in a similar way to how we configured track artists

Add album_artists:-albumartist to aliasTags
Add album_artists_sort to itemTags
Add albumartist.value.sort={album_artists_sort} to tagValue

Composer in Album Artist

The other thing to consider is if we want the composers to be part of the album artist fields since they may not be actively involved in the actual performance. We can easily strip these out with SongKong using the Remove Composer from Album Artist option

Monday, 8 May 2017

SongKong 4.8 updated to fix bug with Comment field

Unfortunately a regression worked its way back into SongKong 4.8. SongKong will fail to load any files containing a comment field larger than 1000 characters.

We have updated the SongKong 4.8 and SongKong for Melco 4.8 binaries to fix this issue 

If you have already installed SongKong 4.8 release from last week please fix as follows to solve this issue

  • Re-download and install SongKong 4.8
  • Run SongKong
  • Ensure they are no changes you want to Undo
  • Run File:Empty Database to recreate the database

This will resolve the issue.  

Beware of 'God mode' on the latest Windows 10 release

Recently a long term user of Jaikoz found that it would not start, the only change he had made was to update Windows 10 to the latest version, build 1703.

Usually Windows updates do not effect Jaikoz or SongKong, since they run inside the Java Virtual machine (JVM) that protects applications from differences in operating systems. Evey new release of the JVM is extensively tested by Oracle before a new release against the wide range of operating systems it is supported on, making it very unlikely that serious regressions would occur.

But in this case it was Windows that was updated, and it was a change in Windows that inadvertently caused a problem for Java

The issue occurs if you have created a  God mode folder to control all your Windows configuration from a single place, from build1073 onwards this prevent file dialogs working.

So if you have an issue with Jaikoz or SongKong opening files please disable God mode until either Oracle or Microsoft release a fix.

Thursday, 4 May 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 Works (or Compositions). In its purest sense Groups are simply a way to groups tracks within a particular album. But with regards to Classical music a Group is synonymous with a work, with each track representing a movement and all movements in a a work having the same value for Group.  

In the majority of cases the Work/Composition field has the same value as the Group field but it is used for a different purpose, if added to the indexTags field it can then be indexed and browsed in the same way as the artist or album.

But some music such as Operas are more complex than a simply consisting of movements and works. Operas can consist of multiple tracks per scenes that are part of acts that then make up the Opera. When there are more than two levels the Work/Composition should usually be set to the highest level, i.e the Opera name

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? 

Although the Group field is not a standard metadata field we have added support for it in SongKong so with SongKong your identified tracks will be automatically grouped by MinimServer with no further configuration needed.

If you don't want SongKong to group fields just add to the Never modify or add these fields list.

Browsing by Works

For browsing by work SongKong provides two different possibilities. 

Browse by Overall Work

The OVERALL_WORK field lets you browse by the top level work such as the Opera name. Simply add OVERALL_WORK to MinimServer indexTag field and rescan. I have renamed it here to the more user friendly Work using the originalName:NewName syntax.

Now you can browse the Work index

Browse by Work 

Alternatively the WORK field lets you browse at a level synonymous with Group . Simply add WORK to MinimServer indexTag field and rescan. 

There are some differences between the Group field and the Work fields. 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.

This article is correct for SongKong 4.8 onwards it replaces this older article

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