Automatic adding of ISRCs to Jaikoz and SongKong
We are pleased to announce that the Albunack database now supports ISRC's (International Standard Recording Code). ISRC enables recordings to be uniquely and permanently identified.
We already had support for ISRC in Jaikoz and SongKong but the data was not in the database. Now it has been added you'll see your existing versions of Jaikoz and SongKong can now add the ISRC for many of your songs.
Of 19 million MusicBrainz recordings in Albunack we have ISRC's for 8 million, that is coverage of 42%
SongKong 5.8 Released Today
We uncovered a handful of issues with the SongKong 5.7 release, these have all been fixed with this release.
One of these issues was that Edit Metadata failed to work in regular Desktop mode. This was due to the move from Java 8 to Java 10 in the last release, this exposed a bug that wasn't picked up because I had retested Edit Metadata before the move to Java 10.
We also at last fixed an annoying issue whereby SongKong would sometimes report it was cancelled because of an Unreported Error. Because the error was unreported it was very difficult to track down what the underlying problem was, but eventually we got there and it has now been resolved.
Full list of fixes can be found at http://www.jthink.net/songkong/news.jsp
We are please to announce the latest version of SongKong today. There are many improvements in this release but we have concentrated on improved performance and further improvements to the Web Remote User Interface.
Albunack Disc Ids
We have added a new way of identifying your songs. If you already have folders representing a whole album (or disc of a multidisc album) and the filename/metadata can correctly identify the order of the tracks then we create an AlbunackDiscId based upon the order of the tracks and the length of each track, we can then compare that with albums in the MusicBrainz database.
This is similar to the freedb lookup but has three important difference:
1. You don't need the CD, it may never even have been available as a CD. The Freedb algorithm is based on CD disc offsets, AlbunackDiscId is based on track lengths. Both calculate track length to the nearest second.
2. We are looking for matches in Albunack database not Freedb. so once a match is found SongKong can add high quality MusicBrainz metadata not poor quality freedb data.
3. It is more accurate, freedb can return matches for CD's where total album length and number of tracks is the same but individual track lengths are different. Albunack Disc Ids only match if all the track lengths match as well.
This method allows us to find matches that we could not match before, since there are many releases in MusicBrainz that are not yet linked to AcoustIds.
In this first release we only use against MusicBrainz releases since these have more accurate track length data. But it also improves performance significantly as we no longer need to generate Acoustid fingerprints for all songs. However we do sometimes generate and check some acoustids for the matched release as an extra verification check.
Acoustic Fingerprinting
Previously we always fingerprinted every song and then did a lookup to find the AcoustId of each song. This only has to be done once for any song however the fingerprint generated is very cpu intensive and on slow machines can contribute significantly to total tagging time. Even on fast machines if the files are on the network then fingerprinting will be significantly slower. So now instead of automatically fingerprinting songs at the start they are only fingerprinted as required during the Match to MusicBrainz stage.
For this reason the Acoustid Fingerprinting option on the Match tab has been modified. No longer does it default to true and mean that it must be enabled for fingerprinting to be performed. It now defaults to false and should only be set to true if you want to force SongKong to create fingerprint and get Acoustids even when a successful match has already been achieved.
Other Performance Improvements
We spent some time evaluating SongKong performance using a profiler and found some unexpected bottlenecks that we have fixed.
Although we store AcousticBrainz data in Albunack we only have some of it because unfortunately they have not released a database dump for some time. This if we don't find AcousticBrainz data in Albunack we then lookup in AcousticBrainz.
But a lookup is required per track and if you rerun FixSongs on previously matched tracks that do not have AcousticBrainz data it will recheck. So now we are also now caching AcousticBrainz lookups so we dont retry failed lookups. If you really want to retry in case AcousticBrainz data has been added for the tracks then just run Empty Database, (ensuring you do not need to revert any changes first)
With the introduction of Albunack Discs Ids and all the other performance improvements you should typically see that SongKong performs 3 times faster then the previous release.
Remote User Interface
We have made further improvements to the web browser user interface.
You can now add, edit and delete rename masks and javascript functions to use in these masks, just like you can in the desktop interface.
We have moved tasks and links from the footer to a fixed navbar so that they are always visible even on vertically scrolling pages.
And the footer now just contains links to the SongKong site and social media accounts, these will all open in a new tab.
The Edit metadata task tables now automatically size for content.
Hi Res Screen support
SongKong has now been updated to Java 10, and this now provides full support for hi density resolution displays. This means screens whereby the ratio between pixels and resolution is not 1:1, the additional pixels are used to provide a sharper display.
There are many more improvements and fixes in this release and you can find the full list at http://www.jthink.net/songkong/news.jsp