SongKong Jaikoz

SongKong and Jaikoz Music Tagger Community Forum

Batch tag processing needed

Not specifically a Jaikoz question, but I’m hoping Jaikoz users will have suggestions.

I have an iTunes library in the tens of thousands, probably too large to load into Jaikoz all at once. I haven’t tried on my current hardware, a Mac Pro with 16GB RAM, but it failed miserably in years past when I attempted large subsets on less powerful machines, by grinding slowly to a halt.

I have a problem with syncing from my iTunes library to my devices where thousands of songs get copied again and again, every time I sync. This is surely a bug in iTunes, but from my Internet research it appears that this may be caused by having both v1 and v2 ID3 tags on some songs in my library. I really don’t need v1 tags at all any more, so I was thinking of making a pass over my library to remove them all, replacing them with v2 tags if they don’t already have them.

The question is, what is the correct tool for this job? I am a software engineer and I could write a simple program in some language or another for this task, but I would rather use an available tool than spend hours doing this.

Its an old tool, but if on windows ID3kill works well enough for this task https://id3kill.en.softonic.com/

Thanks, Paul. I succumbed to temptation, revived some of my Perl skills and wrote a simple script using the File::Find and MP3::Tag CPAN modules.

After further study, it appears that the problem is a little bit different. It turns out that Apple decided to add a new nonstandard ID3 frame and to change the meaning of an existing ID3 frame. The TIT1 “Content group description” frame is now being used in iTunes for “Work” (in the classical sense), while the Grouping data previously stored in TIT1 is now found in a GRP1 frame. Somehow all of my songs that have TIT1 populated (by Jaikoz) with Grouping data are being resync’ed every time with my iPad and iPhone. The resyncing is definitely a bug, but it is triggered by the TIT1 field. It looks like the Mp3tag program is already trying to address this change by Apple:

Oh right, you can do can get Jaikoz to write classical data to the TIT1 1field using Remote Correct:Classical:Copy Work to Grouping field option. But you cant currently configured Jaikoz to write Grouping to the GRP1 field but I am aware of the issue with iTunes.

Since I wasn’t using the Grouping data, I just cleared it out in iTunes, by selecting all my tracks, Get Info, click on “Use work and movement”, set that field to a single space, hit OK, let it run (for awhile), do it again, this time set the field to empty (you can’t set it to empty the first time). If I cared about the data in TIT1 I would have written a script to move it from TIT1 to GRP1 first, then done the above. You have to tell iTunes directly, not just edit the MP3 files, because iTunes keeps the information in its database as well as in the MP3 files.

This is bad behavior on Apple’s part, but it can’t be ignored because they are the 900 pound gorilla in the room.

I will add support for GRP1 field but how would yoiu like to see it presented to user.

Good question. In Compatibility preferences, add a checkbox for “Add Grouping in an iTunes compatible format”?