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

Tuesday 25 September 2018

SongKong 5.10:Loveless, Bug Hunting Release

We are pleased to announce SongKong 5.10, mainly a bug hunting release. 

Release Names

Firstly a bit of fun, starting with this release we have given each release a name. Apple used to use wild cats and now uses places in California for macOS. Google uses something sweet for each version of Android 

SongKong uses the name of a favourite album, but it must be a one word album name. This restriction has prevented adding any albums by some of our favorite bands (such as Radiohead) but one word names work better for release names.

The first release name is Loveless by My Bloody Valentine, if you have never heard it, its well worth a listen.

 Difficult Wav Files


 ID3 Chunk

 The Wav file format uses chunks for different types of file information. It uses a DATA chunk to actually store the audio, and a fmt chunk for basic meta information about the audio. It can then store metadata within an INFO chunk or a id3 chunk, or both, or none. There are many other chunks that can be added to a Wav and the chunks can be in any order.

So reading and writing changes to Wavs is complex and can go wrong. I had one such example recently the customers Wav files contained ID3 chunks storing the metadata, the content of the chunk was correct but the chunk type of ID3 was incorrect it should be in lowercase, i.e id3.

So when  SongKong read the file it ignored the existing ID3 chunk and wrote a new id3 chunk. Everything appeared fine the changes could be seen viewed on their computer, except the modifications made by SongKong were not showing up in the UPnP control app. 

The UPnP server was Twonky, Twonky have only recently added supported for reading id3 data from Wav files. But unfortunately they read both id3 and ID3 chunks and because the ID3 chunk came first they used that one containing the old information.

We have now improved SongKong so it recognises an ID3 chunk as a ID3 chunk, but it saves the chunk type as id3 so that the file is now correct.


We had a problem with some other Wav files. After the audio data the file had some null padding, a series of zeroed bytes and this prevented later chunks being read. 

Null padding can be allowed in Wav files but it should be within a PAD chunk. In this case it was not within a chunk, but we have now improved SongKong to recognise this invalid padding and remove it from the file on save so that the file is now correct.

Bug Fixes

This release contains a number of bug fixes and improvements, all listed on the News page 

No comments:

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