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

Song Tagging and Metadata Blog

Tuesday, 17 October 2017

Jaikoz 9.3.0 Release with new metadata fields

Today on October 17th 2017 we are pleased to announce a new release of Jaikoz. 

The focus of this new release is the addition of some new metadata fields plus some fixes related to metadata editing.  

Update October 19th

We introduced a couple of bugs in the initial Jaikoz 9.3.0 release that have since been fixed. so if you have downloaded Jaikoz 9.3.0 before October 19th please download it again to resolve these issues. You can check you have the correct version of Jaikoz 9.3.0 by checking the About window, the Build Date should say 19 October 2017. If its earlier than that you need to re-download from here

MinimServer Grouping


MinimServer is a powerful uPNP server that can be used to stream to uPNP devices, it is typically used to stream music from high end audio systems but can also be used just as successfully on a PC or Mac. It has a way to group tracks that is especially useful for classical music with the MinimServer Group field (note this is different to the more common Grouping field).  We already had support for automatically updating this custom field with SongKong. We now support automatic updating with Jaikoz, and of course with Jaikoz you can manually edit the field as well.

Overall Work

Jaikoz already had support for the Work field. Typically with classical music tracks represent movements that are part of a Work. But sometimes that Work is part of a larger work, most notably Operas that have recordings linked to Scenes that are parts of Acts, that are part of the overall Opera.

Now the all encompassing work is stored as the Overall Work 


Jaikoz already adds performers and their instruments when matching the releases on MusicBrainz and Discogs. This information is stored in the Performer field in the form Person:Instrument for ID3 formats such as Mp3 and Wav, and Person (Instrument) for VorbisComment formats such as OggVorbis and Flac.

But now we add the person only to the PerformerName field and the Instrument only to the Instrument field. This means you can easily sort or index your music by the instruments used.


In a similar way to how the ISRC field can identify a unique recording the ISWC field can identify a unique work. Artists and labels can have an IPI, this is used to identify the interested parties of an ISWC (such as the composer of the work). We have now added ISWC and IPI fields to Jaikoz that can currently be manually edited, in a future release we will automatically add the metadata from MusicBrainz.

Single Disc Track No  

For Multi-Disc releases it is sometimes useful to just consider the releases as a single disc release. This is the purpose of the SingleDiscTrackNo release, Jaikoz automatically adds this data when releases are matched to MusicBrainz.

This field can be used in music players instead of the TrackNo to view albums as single disc albums.

Lyricist Sort

We already have sort fields for most people, such as the composer, conductor. Now we added a sort field for the lyricist.

Other Fixes

There are also a number of fixes, mostly related to some issues with advanced editing of some fields with Jaikoz. The full list of fixes can be found here



Wednesday, 27 September 2017

Fix for OSX High Sierra breaking menubar for non English languages on Jaikoz and Songkong

In August we reported that Apples beta version of their High Sierra operating system was broken for all Java applications because it did not display the menubar properly.

On Sunday 25th September High Sierra was officially released and the problem appeared to be resolved. However it only works if OSX preferred language is set to English otherwise the menubar does not work.

Hopefully Apple will fix this soon but in the meantime we have a workaround for both Jaikoz and SongKong with only a minor side effect: 

  • Within Finder in Applications right-click on Jaikoz or SongKong and select Show Package Contents
  • Select Contents
  • Open Info.plist for editing
  • Find the line that says CFBundleAllowMixedLocalizations and change the line below it from true to false
  • Save the changes

Now start Jaikoz or SongKong, this should resolve the issue. 


Since we don't know when Apple will fix this we have now uploaded new versions of Jaikoz 9.2.0, SongKong 4.12 and SongKong for Melco 4.12 for mac users with the above workaround in place. So if you now just download Jaikoz or SongKong from http://www.jthink.net the Menu bar will continue to work. 

The version number has not changed so if you already had the latest version you will not get prompted to update. But we have updated the build date of these replacement versions to 27th of September 2017 - and you can see this in the About window.


There is one negative side effect meaning that in the main Jaikoz/SongKong menu and folder dialogs used by Jaikoz/SongKong will now show as English when they should be in your preferred language

Below is an example showing SongKong in German with and without fix.

Without Fix

Menu is incorrect, but when I click on Wähle Ordner to open folder buttons are still in German

With Fix

Menu now works properly, but menu items under the SongKong menu are incorrectly in English and buttons in folder dialog are also in English. But other options in SongKong will correctly be displayed in German.

Tuesday, 26 September 2017

Finding Missing Artwork for Melco N1 and other Music Servers with SongKong

A question that has cropped up a few times is how do I use SongKong to only find missing artwork and not add other metadata. This is easy to do with SongKong and SongKong for Melco by changing a few options.

In order to add artwork SongKong still needs to identify the album but it doesn't have to add the related metadata.

Basic Options

Firstly, ensure on the Basic tab that you have enabled Update Artwork because you want to add this. Then disable Update Genres and Update Mood and other attributes such as BPM as you don't want to add other data.

Artwork Options

When artwork is added by default it is embedded in the file itself. But for maximum compatibility with legacy applications that only read artwork from filesystem such as Twonky UPnP you can also configure SongKong to save the artwork to the filesystem as well.

On the Artwork tab  set Save Artwork to Filesystem to Yes, but do not overwrite existing artwork files in folder. Now assuming your songs are organized one folder per album any embedded metadata will be saved as a cover.jpg or cover.png within the same folder as long as there is no existing artwork file.

You may also want to modify the minimum artwork size you will accept and the maximum artwork size above which artwork will be resized. The defaults are 200x200px and 1000x1000px. This can be done by modifying the Ignore artwork smaller than this and the Resize Artwork if dimensions larger than options.

If you already have artwork embedded in the files you can specify whether SongKong should leave this metadata alone
or replace it. The default option is to replace if it finds an image of higher quality, by quality we mean a higher resolution image.

Your choice is to either keep this as the default, or if you are happy with your existing embedded metadata you can use the Replace if Empty option instead. 

Format Options

By default any other new metadata (such as artist and title) is added to your files, overwriting existing data to provide a more consistent data set. But you can easily prevent SongKong for adding any metadata except artwork.

Click on Update next to Never Modify or add these fields 

Now click in the Available Fields list 

Then do Select All so everything is selected (Cntl-A on Windows, Cmd-A on OSX)

and click Add so everything now in Selected Fields

and click on OK. Now none of these fields will be modified

Lets Go

Keep all other options to the defaults and select Start. SongKong will now go away and identify your music but only add the artwork to your files plus a few of identifiers required by SongKong to work smoothly. These identifiers are mainly MusicBrainz identifers and will have no effect on other applications.

It will also save that artwork as a separate file in the folder if no artwork already exists.

SongKong 4.12 Fixes for using SongKong to only add artwork

In theory it is easy to use SongKong to just add artwork and and a few customers have asked for details on how to do this, so I started writing a blog post about it but I encountered a few problems along the way.

As there seems to be some demand for this particular task I have fixed these issues immediately and released as 4.12

The full list of fixes can be found on the news page

And we have published an article on how to use SongKong to only add artwork.


Sunday, 17 September 2017

SongKong 4.11: Bug Blasting Release

Bug Blasting

Today we release a new version of SongKong. Not many new features in this release but we have blasted away thirty  bugs. Many of these were obscure ones that had only  been reported once, but there were some larger ones in there as well.

We hope with the next release we should be able to virtually eliminate all the remaining bugs. This should help reduce time spent on ongoing support and let us concentrate on some really cool new features.

OSX iTunes Bug

We have found that the later versions of OSX Sierra no longer have the Java Applescript  library installed. SongKong requires this to update iTunes, and it wasn't accurately reporting the issue either. This new release comes with the missing library as part of the SongKong installation.


Saving Unchanged Songs

Too often SongKong was re-saving songs that had not actually had any changes since the previous Fix Songs task. This could make the report a little confusing, and increased the total processing time, especially if SongKong was configured to  update iTunes. We have now fixed this, note in the report the Songs Saved bar chart only shows files that have actually been changed. It is the Songs Completed bar chart that shows the successful completions, to highlight this it is now the last bar in the bar graph.

New Feature:Windows Path Length option

We have one new feature in this release (for Windows users only). On Windows the file path is limited to 259 characters, but this is only a limit of Windows not the underlying file system and it can be rather limiting sometimes, for example Classical releases.

Whilst is usually wise to adhere to this limit for files that are intended to be usually be used on Windows it is not so necessary for external or networked drives that are only temporarily being accessed via Windows.

For example you may be using SongKong on Windows to access a Linux NAS drive. Whilst SongKong can run on Linux a NAS will not not let you use the GUI, you'll be limited to using command line. And in some cases it will not be possible to install SongKong in the first place, so this is quite a common scenario.

You can use the new Limit File path to Windows Explorer 259 Character Limit option to not set the limit, or set the limit only for local NTFS/FAT32 drives, this is the default.

The Full Issue List

You can see a full list of fixes in this release here

Thursday, 31 August 2017

Jaikoz Apple Mac Customers, fix for iTunes Updating issue

After releasing Jaikoz 9.2.0 a few Apple customers reported they were no longer able to update iTunes, getting the following error reported

But despite testing against exactly the same version of iTunes I was unable to reproduce the error. But then after upgrading my secondary Mac (Mac mini connected to my TV) to OSX 10.12 Sierra I did start getting the error. The previous version (Jaikoz 9.1.0) was continuing to work indicating there was indeed an error with Jaikoz 9.2.0

This stumped me for a while since I had already double checked that I had made no code changes to the iTunes part of the code base. I delved further and realized that the error message was misleading the problem was not particular to creating a playlist folder, it was larger than that: Jaikoz could not find the Applescript Engine.

I then remembered I had modified the build script, and in doing so had inadvertently dropped the required AppleScriptEngine.jar from being part of the final release. Its always the 'minor' changes that cause the problems.

This file is installed as standard as part of the legacy Apple Java 6 version so my development machine continued to work but the file was not on my second machine, it came with Jaikoz 9.1.0 but not not with Jaikoz 9.2.0.

So I hope some of you found that explanation diverting, and we have now fixed the problem.
If you simply download from Jaikoz for OSX and install then this issue will be resolved. I have not done a full release for this as this introduces further complexities. Jaikoz is still version 9.2.0 but if you go to Jaikoz:About and look at the Build Date it should now say 31 August 2017 rather than 31 July 2017


Wednesday, 30 August 2017

Twonky UPnP with SongKong

SongKong for Melco is not restricted for use by only Melco customers. But it has been designed in conjunction with Melco to solve the some of the issues that Melco customers have had with their metadata.

We have concentrated on getting it working seamlessly with the MinimServer UPnP server, since this is the most flexible UPnP server I have found, best able to utilize SongKongs' superior metadata coverage.

Melco already have a way to install MinimServer on the Melco and is expected to be the preferred option for Melco customers. But currently the default UPnP server shipped with Melco is Twonky

Twonky Support

As a Melco user it is likely that your music files are either in Flac or Wav format. Please be aware there are some issues with Wav format if using Twonky. 

Twonky has Limited Wav Metadata Support

Twonky only supports the limited Wav Info metadata instead of the richer Wav ID3 metadata. So it will only utilize basic fields such as artist, album and title

Twonky only Reads Wav Artwork from a File

By default SongKong embeds the artwork into the file itself, just like all other metadata, this is the most flexible approach. But for Twonky to see this artwork you need to also save this to the album folder as a folder.jpg file

This is easily done by setting Save artwork to Filesystem to a Yes option. Either the  and overwrite existing artwork files in folder or but do not overwrite existing artwork files in folder option depending on whether or not you want to overwrite any existing artwork. Then ensuring that Saved artwork filename is set to folder

Twonky on Melco Over-Zealous on Monitoring

If SongKong is used to update your songs directly on the Melco via a network share then Twonky can be over zealous and start rescanning as soon as it notices any changes instead of waiting until SongKong has completed. 

This extra processing will slow down SongKong so it is best to temporarily disable Twonky from running on Melco whilst updating from SongKong.

Friday, 18 August 2017

German SongKong review by HiFi Statement magazine

I do not speak German myself, but prospective German customers may be interested in this in depth review of Songkong by Hifi Statement magazine

Wednesday, 16 August 2017

Please read:Jaikoz and SongKong currently incompatible with Apple High Sierra Beta

This affects all Mac users of Jaikoz and SongKong, Apple have recently released the beta of their latest mac operating system High Sierra. Unfortunately this update currently has a bug that means that the main toolbar will not display for any Java based application.

Here is one such example

Hopefully this will be resolved soon. But not currently clear whether has to be resolved by Apple or Oracle, we had similar issue with Windows recently that required a change to be made by Oracle

So please be advised that if you depend on Jaikoz or SongKong please do not install High Sierra at this time.

Wednesday, 2 August 2017

SongKong 4.10.1 released solving issue with new licenses

In the last release we moved the license information from songkong.properties to license.properties as a first step towards allowing customers to have multiple configurations. 

This worked fine for existing customers but there was a problem for new customers. When a new customer entered their license details the changes were not actually saved to the license.properties file, so they had to be re-entered on each restart.

Sorry about that, this release fixes this issue.

It also fixes a couple of minor metadata issues

Full details on the News page

Tuesday, 1 August 2017

Jaikoz 9.2.0 released on July 31st 2017

Today we release a new version of Jaikoz.

This has some important improvements and fixes. 


AcousticBrainz Direct Lookup

Before this release Jaikoz always used a cached copy of all the AcousticBrainz metadata on Albunack. So if a MusicBrainz song had been analysed with AcousticBrainz to determine its acoustic properties (such as its BPM or the key it is played in) that information could be added to that song with Jaikoz. But AcousticBrainz have not been making the new data available so now we have switched Jaikoz to lookup AcousticBrainz directly.

This should mean that you can now update many more of your songs with AcousticBrainz metadata.

Classical Lists 

In this release we have have improved the algorithm that identifies if a release is Classical or not. But we realize that some releases are difficult to categorize so we we have added modifiable Classical lists

One way that Jaikoz identifies classical releases is looking for releases that have credits to particular people known to work only on Classical music. This list is available within classical_people.txt, here is a small section, each line has the MusicBrainz Artist Id and then Artist Name

               1f9df192-a621-4f54-8850-2c5373b7eac9 = Ludwig van Beethoven
               d01c08ad-f09f-4396-b8a7-e27ae146ea27 = Ludwig von Széchényi
               5a4ae8d0-7ee4-4e83-bb89-1cfc9cf63d8b = Ludwik Osiński
               676bf1b0-b834-4117-86d2-ceba42fac051 = Luigi Badia
               688986c3-da7b-4465-92cb-f4736c94f2cd = Luigi Balestra
               cc272df6-a476-4d30-9ede-a47db04d8813 = Luigi Bassi
               5c1a3f8f-d5e5-4dcd-9e44-9443f06bb77d = Luigi Boccherini
               d6077dc7-7bdb-4cc8-9425-fb80bf2dff41 = Luigi Caracciolo
               375d52ad-5b7a-4f96-80e2-6d9ad13f5160 = Luigi Cherubini
               63b22cde-9b11-4465-83bf-ecf374eb490e = Luigi Gordigiani
The term Classical is used here in the most general sense so that anyone who died before music could be recorded is included plus Classical composers and conductors of the 19th and 20th century, in total there are about 6000 people listed. If you are finding that certain releases credited to a particular person are being classified as Classical when you do not want them to be you can search this file for that person and remove that line, you can also add people to this file using the format MusicBrainz Artist Id = Name

The first time you start Jaikoz the classical_people.txt file is copied from the installation folder into the user preferences folder, and this is the file that Jaikoz will uses so you'll need to edit the file in this location for it to have any effect. For OSX this is Library:Preferences:Jaikoz, for Windows it is C:\Users\username\Jaikoz and for Linux it is $HOME/.jaikoz/prefs

There is also a classical_composers.txt file, like all automated music taggers Jaikoz is always dealing with incomplete databases, a particular problem for classical music is that the database may have the list of credits for a release but not their particular role, e.g. Is Person B a composer, performer or conductor. Jaikoz has created a list of people who principal activity is composing so when we find this person credited on a release we can usually assume that they are the composer even if they do not have a composer credit on that particular release.

The smaller classical_conductors.txt list works the same way for conductors, both these files can be edited in the same way as the classical_people.txt file in order to fine tune your classical metadata requirements. If a person is a composer and conductors (or performer) then they will not be included in the composer/conductor list unless the vast majority of their credits are for one particular role.

The not_classical_release.txt list is an exception list to specify releases that should never be considered a Classical release. Some releases are borderline Classical and Jaikoz algorithm can sometimes get it wrong, adding a MusicBrainz Release Id and a title to this list ensures that Jaikoz does not treat these releases as classical when using its identify classical algorithm.

Note, none of these files can be edited directly with Jaikoz itself, just use your favourite text editor.

Bug: Multiple PERFORMERS not being saved to Flac

This field can often have multiple values, but there was a bug preventing multiple values from being saved for the FLAC format

Bug: Windows 1730 God Mode Bug

A bug in Java was exposed by a new release of Windows, Oracle have now fixed Java and this version of Jaikoz has been updated to use this version.

Bug: Classical Album with two different album artists set for different tracks

It was possible for Jaikoz to tag Classical releases so that the album artist was not set consistently. This can cause issues for players and hence the album artist should always be set consistently over an album.

A complete list of the improvements and fixes can be found here


Monday, 24 July 2017

SongKong, another way to install License

The usual procedure to install a SongKong License is to

  • Start SongKong
  • Select File:Update License
  • Copy/paste the three lines from your license email into  the license dialog

This is fine but with SongKong 4.10 we moved license details into a new license.properties file. You can now edit the file  directly instead. This can be useful if you are running SongKong without using a Gui such as on a remote linux server, or if there is a license issue.

Simply open the existing license.properties file in your User Folder with your favourite text editor and replace the three lines with the new values


If no such file exists just create a new license.properties file and add the three lines, then start SongKong  and it will use your new license details.

What is the User Folder

The only difficulty can be finding the SongKong User Folder, this is not the same as the Installation Folder. The SongKong User Folder is where we store your user specific settings, and this location varies for different operating systems.


On Windows the SongKong User Folder is C:\Users\username\AppData\Roaming\SongKong where username is your username. But the AppData folder is hidden by default, to see it you need enable Show Hidden Files on Windows Explorers View tab

See how AppData appears when you enable 
Show Hidden Files

AppData Missing

AppData Visble

Windows procedure is:
  • Navigate to  C:\Users\username\AppData\Roaming\SongKong
  • Edit license.properties and save
  • Start SongKong 


On Macs the SongKong User Folder is C:\Users\Paul\AppData\Roaming\SongKong

But the Library folder is hidden by default, to make it visible
from the Finder hold down Option Button and select Go menu, then it will appear in the list

OSX Procedure is:
  • Select Library from the list 
  • Go to Preferences:SongKong folder
  • Edit license.properties and save 
  • Start SongKong


The SongKong User Folder  is the .songkong folder within the Installation Folder. Folders beginning with a dot are not shown in linux with a regular ls command, instead you need to use ls -a to see them

Linux procedure is:
  • cd .songkong
  • Edit license.properties and save
  • Start SongKong

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.
Jthink blog Jthink Facebook page google_plus Jthink YouTube channel Email Paul at Jthink Subscribe to Weekly Newsletter