First results of my evaluation of taglib against id3tag

Xavier Duret xavier.duret at
Tue Jan 9 17:16:28 CET 2007

As part of my evaluation of taglib, I have been comparing the output of taglib against the output of id3tag. I managed to put my hands on a huge database of music files in the most sorry state you can imagine. This database contained 15722 files (mp3 and ogg vorbis mixed). I ran first an unmodified version of Firefly (based on id3tag) and then a version of Firefly that I modified to use taglib. Each run gave me a sqlite3 database from which I generated a plain text file.

taglib imported 15721 files in 380 seconds. id3tag imported 15718 files in 432 seconds. So from the point of view of speed, the advantage is for taglib. I also do not blame id3tag for leaving 3 files out because as I say the test database is really junk.

Also when looking at the actual differences in the metadata, I comes out that taglib is much better at extracting the information from the files (in particular track number, album name and genre).

I also compared the song duration. Because taglib only has an accuracy of 1 second, I rounded the results from id3tag to the same accuracy. Most files had the same duration. Taglib rounded an important number of files one second too low. Up to now, it is not a big deal.

However, I have found at least one track for which id3tag reports 3:02.230 minutes while taglib (1.4) reports 2:26 minutes. This is a significant difference. So to know which library is right, I played the track and found out that taglib is wrong. I also tried the latest (svn 621706) and in this case neither the bitrate nor the song duration got extracted.

I will work on making the comparison of the 2 libraries easier.

Gagnez tous les jours un iPod nano. Inscrivez-vous au courriel gratuit CaraMail. Et bénéficiez de 10 SMS gratuits ! Cliquez ici pour gagner :

More information about the taglib-devel mailing list