Friday, 28 February 2014

The Problem

A Mac customer wanted to use Jaikoz to only fix some compilation albums that had been broken up into different folders by another application, so typically each song was the only file within its own folder.

Now Jaikoz can put albums back together again, but the difficulty is finding all those orphaned files in the first place, the following script can help:

This checks all the folders under the provided one looking for folders containing only one file, and then filters out any non music files to leave you with a list that Jaikoz can process.

Then if we redirect the output to a file, and we name it as a unicode playlist we can load the list of files straight into Jaikoz

The Solution

Finding the list of orphaned files

Save this file to your Documents folder
Open Applications/Terminal,
Within Terminal enter

chmod 777 Documents/findodd.sh

and press <ENTER> then

./Documents/findodd.sh MusicFolder > playlist.m3u8

and press again.

where MusicFolder is the full path of the root of your music directory

i.e. I might enter:./Documents/findodd.sh/Users/paul/Music > playlist.m3u8
this may take a few minutes depending on how much music you have
Start Jaikoz
Drag playlist.m3u8 onto Jaikoz to load the files

Matching files to releases

Ensure View:Show Column Browser is enabled , and use it or the search so that at any one time you only have the songs from one of the album you want to reconstruct listed.

If you know the release exists in MusicBrainz use Action:Match to Release:Match Songs to Specified MusicBrainz Release and then move onto the next release.

Or if you know the release is in Discogs use Action:Match to Release:Match Songs to Specified Discogs Release and then move onto the next release.

If it doesn't exist in either database you can still use Jaikoz to manually fix the metadata

Then use Action:File and Folder Correct:Correct Filename from Metadata and Correct SubFolder from Metadata to rename the files and folders to bring the files back together.

Thursday, 27 February 2014

Hots on the heels of SongKong 1.19 we have
SongKong 1.20 because I have just discovered an important bug in a code
library SongKong uses on OSX for talking to iTunes.

SongKong uses Applescript to inform iTunes of changes, however
because of an oversight later versions of the library SongKong uses no longer have the necessary
calls to talk to the Applescript library. However if you have earlier
versions of the library (as all my test machines do) then SongKong can
talk to iTunes without problems..

Until today I wasn't aware of the seriousness of this issue, I thought the problem was only on a few isolated installations. If previously you have have been unable to update iTunes from SongKong on OSX this release should solve that issue .

Linux and Windows users there is no real need to update to this
release as it only contains the OSX Applescript/iTunes fix and some
minor modifications to debugging output

Wednesday, 26 February 2014

I have been experimenting with Plex a media player system consisting of a player application with a 10-foot user interface and an associated media server, its available for all major operating systems.
I have a Mac mini connected to my television and so interestingly this is a very viable alternative to using iTunes on your Mac as your home media centre.

Plex supports all kinds of media but in this blog we are interested in music, and this is where SongKong can help.

Getting your metadata in tip-top condition before uploading into Plex is essential for the best music listening experience so fixing your songs metadata with SongKong is a great start but Plex is rather fussy about how your files are organized so if possible you should ensure you rename your files using the mask now available in SongKong 1.19.

Select Fix Songs, ensure that Rename files based on metadata when matched is checked and that Save Changes to iTunes is unchecked

Then select the File Naming tab and choose the Plex mask for both the Rename mask and the Compilation rename mask, its easy to find it is the last one in the list.

Then select Start and your songs shall have their metadata fixed, and folders and files renamed to best suit Plex.

Sunday, 23 February 2014

Many people use Shazam to identify songs they here in their local cafe or walking down the street, and its a great app for discovering new music, but I have also seen many people asking for Shazam for their desktop computer, now why would you want that you can hardly carry it around with you ?

Identifying Music You Already Have

Users understand that Shazam can be used to identify music on their iPhone and want a solution for all those badly labelled tracks on their computer but this is not what Shazam is intended for. Shazam is now available for your Mac and Windows 8, but Shazam requires you to physically play a part of each song in order to identify it, so is not a very good solution if you have more than a handful of songs to identify.

A Free alternative

Shazam actually uses acoustic fingerprinting to identify songs but forces you to play them via a microphone, SongKong also uses audio fingerprinting but this is done automatically without you having to play the song, fingerprinting a song only takes a few seconds.

SongKong can be used to identify as many songs as you like for free, simply look in the Song Changes section of the report to see what the song was matched to.

To keep things simple the screenshot shows the result of just matching a single previously unknown song but SongKong can be used safely on thousands of songs.

SongKong only requires purchase if you want it to add the matching song information to the file itself.

A few weeks ago I blogged about TuneUp Media going under and my suspicion that it was related to Gracenote being sold. I have not been able to confirm this but guess what, another Mac tagger Rinse My Music powered by Gracenote has gone under as well, coincidence ?

In this case the company itself has not gone under but Rinse My Music is no longer available and no explanation has yet been forthcoming. Existing customers will find the product ceases to work in a couple of months

So I would like to try to help Rinse My Music customers in the same way as TuneUp Media customers by offeringSongKong for a 30% discount until the end of March.
Simply make the full price purchase in the normal way then email
paultaylor@jthink.net with some proof of your Rinse My music product code and
I'll refund 30% of the price.

SongKong does everything that Rinse My Music does and more. But it doesn't rely on closed databases like Gracenote instead it uses MusicBrainz and Discogs. I'm an Indie developer so when you deal with Jthink you are dealing with me direct not having to go through layers of anonymous support.

There is a free trial available so you can
comprehensively try before you buy.

Originally SongKong was very much folder focused, you select a folder and SongKong would fix all the files and sub-folders of that folder. Customers generally went to two extremes, either picking their top level music folder and fixing everything or just picking an album folder and fixing one album at a time.

Now both of these methods are great but we have added a bit more flexibility

Firstly, you can now select multiple folders, if you have five folders under an artist folder now you can just fix two, three or four of the folders in one go instead of matching one at a time or the whole lot. And if the folders are located in different locations SongKong works out the basefolder/sub folder split for each combination as this screenshot shows

Secondly, instead of just fixing complete folders you can now fix files within folders. There are at least three important uses of this

Fixing songs direct from iTunes

iTunes does not show folders only files, this was a problem but now files can be dragged directly from iTunes into SongKong.

Fixing results of a search

Now you can do a search in Finder or Windows Explorer and drag the list of matching files direct into SongKong.

Fixing Songs direct from Windows Explorer

Now all supported music formats can be fixed by just right clicking in Windows and selecting Fix Song in SongKong from the context menu

Thursday, 6 February 2014

Without any notice TuneUp Media has ceased trading leaving their customers high and dry. Knowing that Tuneup had received venture capital investment my first thought was that the investors had pulled the plug on them because they were not making enough profit. However, it was announced a couple of days later that Gracenote had been sold to Tribune Media Services, more details here. Tuneup used the Gracenote service for its song matching so I suspect that under new ownership Gracenote has decided to withdraw that service.

I would like to try to help Tune Up Media customers by offering SongKong for a 30% discount until the end of March (previously February but now extended to March). Simply make the full price purchase in the normal way then email paultaylor@jthink.net with some proof of your Tuneup media license and I'll refund 30% of the price. There is a free trial available so you can comprehensively try before you buy.

Now I would like to reassure you that the problem that have you have encountered with Tuneup Media will not occur with Jthink software because of the following reasons:

1. Jthink is wholly owned by myself Paul Taylor, so there is no pressure exterted on me by external investors. My priority is to provide high quality, useful software at a fair price.
JThink software is available with free upgrades and
support, so you only pay once. Because I am the designer and developer there are no messy compromises in the design and I am
able to be highly responsive to the specific needs of customers, and
adapt products to a customers specific requirements.

Jthink has been in business since 2006, my comprehensive tagger Jaikoz is still actively developed and improved but I think the simplicity of SongKong is a better solution for Tuneup customers.

2. SongKong uses the open source MusicBrainz service rather than the closed Gracenote service. The complete database and web service is freely available and I have my own complete copy. Although I currently use the web service hosted by MusicBrainz I could provide my own Musicbrainz server if necessary so even if MusicBrainz was to die a death I could continue the service. MusicBrainz has its own protections in place to make it highly unlikely this could ever happen.

Wednesday, 5 February 2014

Since this post I realised I'd missed some other important requirements for a fully automatic music tagger

1. There needs to be an audit trail
If you are trusting some of the most important data on your computer then you really want to know what it is getting up to.

2. There needs to be a way to roll back changes
However good automated matching is there should always be the possibility to undo the changes
it makes.

3. There needs to be a way to remove duplicates songs
As your song collection gets organised you'll probably find you have duplicates, and finding and removing duplicates is something that automated taggers can potentially be very good at.

4. A way of continuously monitoring and modifying your music collection.
Once you are happy with your automated setup wouldn't it be nice to not even have to think about it anymore.

and this is how SongKong meets these requirementsThere needs to be an audit trail

SongKong creates a comprehensive report with details of exactly what has been matched to the Musicbrainz and Discogs databases and also exactly what changes have been made to your files.

There needs to be a way to roll back changes

Every time SongKong makes changes to a file the changes are stored in a database, and because it is in a database those changes are not lost when you close SongKong or restart your computer. If at a later date you decide that you do not like the changes that SongKong has made you can use Undo Changes to change the files back to how they were before changes made by SongKong. This undo facility works even if the files have been moved or renamed.There needs to be a way to remove duplicates songs

SongKong lets you find duplicates, and when a duplicate is found decide the criteria for which if the duplicates to be deleted. But what is a duplicate, luckily because SongKong stores ids when matching songs it can accurately determine when a song really is a duplicate. SongKong lets you choose any combination of Acoustic Id, Song Id and Album Id to let you decide what is a duplicate. For example if the same song appears on two different albumsthen you may consider these as different songs or you may consider them the same song.

A way of continuously monitoring and modifying your music collection

Once you have SongKong configured to your liking a good way for working with new music is simply to setup a new folder that you dump new music into and have SongKong detect this and do its thing, this is easy done using the Watch Folder option.

Sunday, 2 February 2014

With conventional music tagging there is lots of manual editing or semi-automatic tagging but SongKong is a rules based tagger. The basic idea is that rules define how you want your music collection
to be organized, then the rules can be applied to your whole music
collection without any manual editing required giving a totally
consistent music collection with the minimum effort on your part. You can change the rules and then reapply to
the whole collection to maintain a consistent music collection.

There are three main aspects to incorporating rules based tagging, lets summarize the perfect system:

1. It would be possible to correctly identify every file in your music
2. Once a song is identified the database it has been matched to would contain every desired attribute of the song that you are interested.
3. It would be possible to define rules to extract and apply the data in any way required.

And this is SongKongs implementation:

1. SongKong generates Acoustic fingerprints for each song and this can be looked up in the Acoustid database to identify the song, working in a similar way to Shazam. Acoustid currently contains fingerprints for 16 million songs allowing the majority of your songs to be identified, but Acoustid can only identify the song not necessarily the album. However by combining this with comparing existing meta-data in your songs we can match to the album as well in the MusicBrainz database. MusicBrainz provides high quality detailed data onmore than 1 million albums.

You can influence the importance of metadata such as by specifying a preference of matching albums form certain countries of a preferred format such as CD or Vinyl.

So MusicBrainz/Acoustid provides good coverage for most music collections. But we also use the Discogs database as an alternative source.

Even so, we cannot guarantee 100% matching, but testing shows that in the majority of cases approximately 90% of a collection can be matched to MusicBrainz or Discogs.

It has to be said both of these databases do have better coverage for Pop/Rock/Electronic western music than Classical and World Music. But there are many projects ongoing to fill these gaps, for example the Music Technology Group at the Universistat Pompea Fabra is working with MusicBrainz to add Indian Raag Music.

The good news is that MusicBrainz open approach is fast becoming the de-facto standard database of music information.

2. Some Music databases contain only the most basic information such as artist, album, title and year of release. But the MusicBrainz database consists of an incredibly rich semantic model, and allows new relationships to be defined between entities.

When SongKong matches to a song in MusicBrainz it is guaranteed to find at least 19 fields (such as artist, album ecetera) and often an additional 35 fields. This includes high quality artwork, usually at a resolution of at least 600 x 600 pixels.

These fields also includes some MusicBrainz Ids, this means that your songs are compatible with other MusicBrainz enabled applications. It also means you can always look up the original source of the data at any time in the future.

3. SongKong is intended to be easy to use, but there is no one right way to organize your data. Everybody has different requirements based on their personal preferences and how and where they are going to play their music.

Here are a few scenarios handled by SongKong:

You are a DJ only interested in individual songs and has no interest in the album information. SongKong lets you specify exactly how files are named and stored, you can use any piece of metadata for deriving your filename ,and can use powerful Javascript expressions to manipulate the names.

Your music is already stored in iTunes. SongKong can work with iTunes automatically, updating the information in iTunes for songs that are already under iTunes control and adding songs that are not iTunes control to iTunes.

You like to process songs in a pipeline moving them from unmatched to matched location. SongKong allows you to move files as they are matched to a new location, it also allows files that it failed to match to moved as well.

I hope this post helps you understand the basics of rule based tagging. Jaikoz also incorporates rule based tagging , but also provides manual editing and semi-automated tagging.