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

Wednesday, 19 July 2017

SongKong 4.10 Release, 19th July 2017: Support can now be sent directly from within SongKong itself

With this new release we have a mixture of small improvements and fixes.

Create Support Files

Notably we had an ongoing issue with SongKong support files that they could be too large to send by email, so then customers had to use a 3rd party file sharing service such as DropBox and if they did not have such a service setup already this could be difficult. 

Now  Create Support Files uploads the support files directly to the JThink server, and an email notification is sent to me informing me when it is done. This is much simpler, but it is still helpful if this is the first communication you have had with Jthink to send an email to support detailing the issue and why you have sent the support files.


Your license is now stored in license.properties rather than songkong.properties. This change should occur unnoticeably. But it paves the way to allowing multiple different SongKong configuration files in the near future, for example we could have a configuration files for using SongKong with MinimServer and another for use with iTunes.

Fix Song Preferences

We have reduced the number of tabs from twelve tabs to eight tabs. Hopefully this should be a bit less daunting for new users, remember the defaults work well for most customers.

Windows 1730 God mode bug

The latest version of Windows exposed a bug in Java, for some users this caused a serious issue when opening folder dialogs. Oracle fixed this a while ago but we have been waiting for some time for them to actually release the fix, but now they have done so and it is incorporated into this release.

Classical Track Artist Error

For Classical Music the artist field was not always being set with the correct value according to the Classical Track Artist option, this is now fixed.

Add composer to album title

We have improved how this option works so that it acts more sensibly when your songs are matched to just one disc of a multi disc multi composer box-set, and we have also improved adding composers from multi composer single disc releases as well.

MP4's with 64bit data lengths

Usually Mp4s use a 4 byte field to store the length of the audio metadata, but it has become possible to use an 8 byte field instead. This is only required when the data is longer than 4GB and is primarily for use in video but some applications use this field for audio that is less than 4GB. Until now SongKong could not read such files, but now it can.

Tuesday, 18 July 2017

Organize songs by Original Release Year using a new SongKong Rename mask

I received the following request on the forum today:

I am looking to take my entire collection and using SongKong fix, get rid of dups, and then finally end up with all songs characterized like this:

[Songname][Artist][original release year]

and have each song go into a separate subdirectory that is the year

So I would have subdirectories that would look like this:


and in each subdirectory would be all songs that were released that year.

Is this doable? If so, how?

If not, how close can I get before having to do manual work?


Creating new mask is a common request so it is worth going through the steps

Activate File renaming

By default files are not renamed, so if you want this on the Basic tab you need to set Rename Files based on Metadata to something not leave it as No. I would usually suggest setting it to Yes if matched to a release but since the customer is not interested in releases only songs a better setting would be Yes if matched to a release or a song. You can find more about this option in this article

Create a new mask

Then go to Filenaming tab. Although SongKong comes with a number of predefined mask we do not have this particular one so select Add to add a new mask

Now give the mask a Name that will help you recognize it

Original Year/Title - Artist - Original Year

and then enter the Mask itself

+ ifnotempty(title, ' - ')
+ ifnotempty(artist, ' - ')
+ substring(originalyear,4)

Then tab out of the mask and you can see an example mask is now displayed showing how files would look using this mask. 

The substring function shortens a value but also allows for when the value is shorter than the length you want to shorten it to.

The ifnotempty function lets you specify a value and a separator value, it only outputs anything if the value is not empty.

Since some songs may not have an original year we provide an alternative of unknownyear and make use of the ifempty2 function, this provides a second value to use if the first value is empty.

Click OK to create the mask

Use the Mask

Now we need to actually use the mask, in this case we want to use the same mask for all our songs so we need to select it for both the Rename Mask and the Compilation Rename Mask

Run Fix Songs

Select Start to fix your songs, and as the report shows the files are now organized by original year with an unknownyear folder for when the year is not known.

SongKong rename masks have full access to your songs metadata, and it makes use of the Javascript Expression language so there is no limit on how complex you require your rename mask to be.

Tuesday, 11 July 2017

MinimServer with SongKong Part 12: Showing Composer in Group name using DisplayFormat option

Part 11:MinimServer Configuration

SongKong has an option to always add the composer name to the album, even if it not listed as part of the album name on the online databases that SongKong uses.

So as long as you have the Add Composers to Start of Album Title enabled 

You should get the composer(s) listed in the album title
such as here.

But composer name is not added to the MinimServer group so if you just elect to play a group the Composer is not displayed

MinimServers tagFormat option (on the second tab of MinimServers configuration) lets you change what is displayed when playing music using the displayFormat option. Essentially its let you configure certain fields so that display different data, and since we already have the composer stored in the composer field we can modify group to display the composer and then the group as follows:


 Now we can see the composer name is displayed as part of the group field.

But it would be nice if we could display it using the same ': ' separator as we use on the album name. We can do that using this value instead.

Group.displayFormat={$composer^^: $group}

This replaces the default ', ' separator with ': ' . (The ^^ indicate a prefix and suffix, we do not set them to anything so they are just left as an empty value).

The displayFormat  can be used for the following fields:

  • Album
  • Artist
  • Comment
  • Genre
  • Group
  • Label
  • Title

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 12:Showing Composer name in Group format using displayFormat
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, Album_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, albumartistsort,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={albumartistsort},album_artists.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 as a way to correctly identify a release, allowing us to differentiate between different releases with the same or similar names. But for Album Artist to work correctly with MinimServer it must use a single field for the albumArtists rather than one per album artist


ALBUMARTIST= Dallas Wind Symphony, Frederick Fennell

instead of  

ALBUMARTIST= Dallas Wind Symphony
ALBUMARTIST= Frederick Fennell

Album Artist is automatically configured for MinimServer, we just need to add sorting.

But we can also browse by the individual album artists as we do for track artists by adding an additional Album_Artists index

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.

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