12,000 songs in chaos, files named however, missing covers. Here's how I got everything back in order in one session — the real method, not theory.

The starting point

I'll be honest: my library was a disaster. 12,000 songs on an iPod Classic, piled up over twenty years — CDs ripped, iTunes purchases, downloaded files, bootlegs, nameless tracks, missing covers, all mixed together with no logic. Half showed up as 'Unknown Artist', the other half had absurd filenames. iTunes couldn't sort anymore. The iPod had become unusable.

I'm not a developer by training — carpenter by trade. But after enough tinkering, I ended up building a method, and the tool to go with it. Here's how I went about it.

Step 1: take stock

Before tagging, you need to know where you stand. I sorted my library by filename to spot the groups:

  • Well-named files (Artist - Title.mp3) — about 40%. For those, auto-identification works almost every time.
  • Randomly named files (track01.mp3, 01 - track.mp3, truncated titles) — about 30%. For those, you have to rely on duration to identify.
  • Files with existing but wrong or badly encoded tags — about 20%. To retag cleanly.
  • Unfindable files (bootlegs, unreleased indie) — about 10%. To tag by hand.

Step 2: batch identification

The principle: don't go file by file. You point at the folder, the tool reads each file, sends the name + duration to the Deezer API (MusicBrainz as fallback), and fetches candidates. For the 40% of well-named files, it's automatic. For the 30% badly named, the tool suggests candidates you validate with one click.

QuickTagMP3 does this in parallel: while you validate one track, the tool identifies the next ones. In a two-hour session, I identified 9,000 out of 12,000 tracks.

Step 3: the ambiguous cases

This is where you lose time if you're not careful. A track can have several versions: studio, live, radio edit, remix, sped up. The name alone isn't enough — it's the duration that settles it. If the file is 3:45 and the 'studio' candidate is 3:42, it's probably the studio version. If the file is 6:12 and the live candidate is 6:08, it's the live one.

The tool cross-references title + duration automatically, but for truly ambiguous cases it's better to validate by hand. I spent 30 minutes on what I called my 'annoying cases' — badly named lives, remixes with no mention. That's the price of precision.

Step 4: the unfindable ones

10% of my library wasn't in any database: concert bootlegs, undistributed indie tracks, personal recordings. For those, no auto-identification. I tagged by hand — title, artist, cover dragged and dropped. It's slow but it's honest: a badly identified file is worth less than a hand-tagged one.

Step 5: writing the tags

Once all 12,000 tracks were identified, writing happens in a single pass. The tool writes ID3v2.3 tags (TIT2, TPE1, TALB, TYER, TCON) + the APIC frame (HD cover) straight to disk, in UTF-8. It strips old ID3v1 and TAG+ tags to avoid mojibake. It's the fastest step — in batch, it just flows.

Step 6: the iPod sync

Once the files are tagged, syncing with the iPod Classic goes through iTunes. With clean ID3v2.3 tags and APIC covers, the iPod finally shows jackets, sorts by artist correctly, and shows zero 'Unknown Artist'.

The takeaway

In one 3-4 hour session, 12,000 tracks went from chaos to a clean library. What I'd spent years avoiding got done in one afternoon. That's exactly why I built the tool — because the manual method, at that scale, isn't viable. And I'm not the only one in that situation.

The lesson

Don't start by tagging file by file. Start with batch identification, handle the ambiguous cases separately, and save the manual method for the unfindable ones. It's the only way to handle a large library without giving up halfway.