Tagging and moving 20 years worth of media files


I am currently in the process of cleaning up my harddrives, and one folder that I usually avoid when doing so, is my music folder. To make a long story short, it went all the way from being managed by MusicMatch Jukebox, to Windows Media Player, to RealPlayer, to iTunes. It has seen some serious wear and tear. There are MP3, WMA, WAV, FLAC, OGG and even some other variants of AAC all over the place. iTunes tried its best to somehow keep it organized, but it is starting to really give out on me. That, and there are sooooo many duplicate files.

So, after searching around, I tried Finetune. But it crashed - possibly because of some of the audio files being literally corrupted and unusable. Later I found Picard - and so far, I am getting a good idea of it!

Now, here are a few things that I would love to do:

  • Most of my German Rap collection has quite an abomination of artist names. For instance: Fler Feat. B-Tight & Frauenarzt. Obviously, the artist is just Fler with the others being featured artists in the song. But, when saving my changes, I get a folder with that - and many other - name. I want to have all those songs moved into just one folder: Fler. No matter how many features, I just want to navigate into the Fler folder and see all the albums. If the full listing persists in a tag, that is fine. But now I have millions of folders with just a single track…
  • Is there a way to run a tool on every file to convert it into the most optional format? I.e. OGG to MP3 and WAV to FLAC and alike? I can also do this with in-place conversion and some shell-trickery, but it’d be nice if I could just make it run all from one application.
  • Somehow, some of the songs do not get sorted into album folders. For instance, I have about six albums of the artist Sido. Only two of them are in their respective subfolder - the rest is just thrown into the root of the Sido folder. That is… not so nice. I am using the standard renaming script - is there something I have to change in it? It looked pretty sane.
  • When I rip future CDs, what is the best application that cooperates very well with Picard, where my existing tagging system is used properly and inserted exactly where it has to go?

After years and years of using iTunes and other software, I just really want to find all the duplicates and remove them and clean up this entire mess all at once. My ultimate goal is to put the entire library into a DLNA server in my network, copy what I want to my laptop and find another way of managing songs on my iPhone - after all, the stock Music app can now be uninstalled and replaced, so there should be options!

I am still very new to Picard and my Python skills suck - I am a C/JS dev so… Aside from a little RegExp, I can’t really go into writing my own Python module without spinning around in the docs for a long time :wink:

Hopefuly you have some good suggestions for me. I absolutely want to tame this 200GB of music. Oh, and, for context: This library is about 20 years old now. So it’s way over-due for a cleanup!

Kind regards,


Picard can automate a lot of work for you, like matching your mess of tracks to releases in MusicBrainz, but you still have to check everything manually. The best thing is to run small batches (like 1 GB at a time) through Picard. I would also recommend to copy (not move) a part of your music collection to a separate location, so you can just try different options until you are satisfied with the results. That way you can’t mess up what you already have while you are experimenting.
Picard can also move files based on tags, see the options under “File naming”.

I wouldn’t convert between music formats if I were you. Converting from one lossy format to another (like aac to mp3) leads to a loss of quality, and your 20 year old mp3s are probably already quite low-quality. Picard can tag just about everything anyway, and modern music players like foobar2000 handle all kinds of files transparently. You don’t even have to notice what type of music file you’re playing.

I haven’t ripped a cd in a long time, but I used to use dBpoweramp. It always just worked for me and gave me a good start with the metadata it retrieved, even in the free version. And having at least reasonable metadata helps Picard make fewer matching mistakes as well.


BIG TIP - buy an external hard drive and do a big backup now before you start. Preserve the collection as it stands now in case something goes weird.

When using Picard, work in small batches. Don’t try and get everything renamed in one go. Picard works best if you check the results.

Work with stuff you know first to get the hang of how Picard works. You will make a mess at times and need to redo some stuff. And after a while you’ll also start to work out better ways of doing things that may need some scripts to tweak results. Those scripts will be right in your line if you understand RegEx\JS\C. Scripting gives you huge amounts of control of the results.

When I have done tasks like this I have a Before and After branch of my collection on the hard disk. Slowly moving things from the Chaotic side to the Ordered side.

I also second everything above from @mfmeulenbelt - especially about format shifting. Leave the old stuff in the mess it is now. No need to change.

It also depends on the speakers you have for playback. If you have 20 year old MP3 ripped at low quality 128kps then you’ll want to return to the CD to rip fresh to FLAC. I rip with EAC as I get good lossless FLAC, it is free, and it links to MusicBrainz for tagging.

In my own collection I have a SinBin area for bad quality stuff with the aim to source replacement rips. Format shifting will never get back what was lost by bad compression.


Kia ora!

With things being moved into a lot of different folders, or into the root folder, can I check if you are doing:

  1. Add files
  2. Cluster
  3. Lookup
  4. Save when matched to the correct albums on the right
1 Like

Thanks to you both for those very, very fast replies!

After reading the argument about conversion - yeah, I am convinced, I’ll leave them as it is. I live in a small apartment, so all I get is headphones. Currently, I use SteelSeries Arctis Pro Wireless, which have a pretty good sound and very clean transmission from sender to receiver, I hear no hissing or other noise whatsoever. So they are pretty great and i wear them at least half a day - so, they are my spekers :slight_smile:

My collection stems from two major sources: Music I ripped myself over the years, and music contributed to friends. And, of course, if you know anything about the 2003 era of the internet, you know a specific piece of software. Well, that was also used. Hence, I actually went for the mass-tagging to get somewhere. Right now, I am using AllDup to match multiple pieces of where my collection has spread and downloads have gone to consolidate everything into a single folder by following up with rsync -aur --remove-source-files. These two things alone have already shaved a good dozens of duplicates off my files, which actually gave me enough space left on my main harddrive (well, “main” as in, the one HDD in my PC case I use for file storage, not for OS booting) to pull over the remaining files from my backup archive (which was long lost to being stuffed in the basement and on HFS+ and nested within subfolders of subfolders). Once that is done, all music in these archives will also be migrated into my music folder, and deduplicated.

But, I do still have a backup of my collection as it was before everything, luckily. But it seems that some of the operations still haven’t been processed properly. Here is a screenshot to illustrate:

As you can see, not all files were moved into folders. Any idea why this is the case?

Since the scripting syntax is a lot like the one of a Makefile, it’ll take time untill I really get the hang of it - I never really managed with that syntax of $if(a, b, c) instead of if a { b } else { c }

Again, thank you for your recommendations, I’ll make sure to stick to them! And I am going to try out EAC in a bit - I have a CD imported from Japan that I have yet to rip.

@aerozol With “Cluster”, you probably mean the grouping options? I am still a little confused as to what those are supposed to do, actually. When I added files, I just saw all my albums and stuff show up on the right, highlighted all and hit apply after throughly inspecting the settings to see what I was about to apply. And for a good amount of my files, they immediately went into their respective album folders - not all, but a good amount did.

Side question, what does “Kia ora” mean? o.o

1 Like

Cluster groups your files into albums in the left hand panel, based on the album tag.

Then when you use ‘lookup’ Picard attempts to keep those groups together - e.g. if you have a group of 14 tracks it will do its best to find a 14 track release to match it to.

Note that ‘scan’ ignores all existing tags (I don’t know if it ignores clusters?) and “listens” to the tracks to find a match instead. Very magical, but it can pick up a lot of compilations etc, so more of a last resort if existing tags are bad.

It sounds like you might not be matching your tracks to the database? It’s a bit hard to troubleshoot without knowing exactly what you’re doing.

Can you have a quick look at this and see if you’re doing anything differently: Picard Quick Start

There is currently a ticket underway to improve Picard’s accessibility that I would love to hear your thoughts on, as a new user. Does this mockup make more sense to you than what you’re currently looking at on Picard? (from this ticket)

Hello in Māori :smiley:


With music like this I split it into the three quality based categories.

  • Music I ripped I know I can exactly match a Release CD by the bar code. Especially as most of this will be high quality FLAC. This is the collection that is still growing.
  • Music I got from friends I probably have to guess a close match of a Release just based on a nice looking image and close looking tracks.
  • Music from File Sharing sources I know will often be a random disconnected mess of unconnnected tracks in a heap. So best I can do is guess some track names that match. I don’t even trust it to be the real album. Some of this I can extract into cleaner folders of \artist\album, but most of it will be in a heap without an actual album.

With that third category I have actually discarded most of it from my main collection. Mainly because the quality was so low back then. Also as I use KODI it is keen to see proper album tagging which is harder to do with random tracks. Even YouTube has better quality available than some of that old file share mess.

MusicBrainz is mainly about matching real albums. Real Releases. So is best aimed at those real rips.

I would also stick in to your toolbox MP3TAG. This lets you hack your own custom album titles into place on your rogue music files. That collection Craig made me I can set as a “Various Artists” release and make up an Album Name to match their selection as I know MusicBrainz ain’t going to much better for me. I just make sure I have good consistent tags on it.

Sometimes MP3TAG can also help a Picard search if you have appaling tags on something. Maybe this is what is happening on Werr Hat Der Gras files and doing a little bit of clean up on the tags first may help the match. I guess that is this Release which you could also manually push to Picard and line up and tag those files.

1 Like

After having sorted your library you should consider subscribing to iTunes Match. You can upload all your files to Apple and the ones that match with the iTunes Store won’t be uploaded but just matched. When you delete your library after that you can download official AAC versions of the music that was matched, this way you could replace an old 128kbs mp3 file of dubious origin with an official AAC file from Apple – completely legally and DRM-free! The files that didn’t match with iTunes Store versions will be downloaded just as you uploaded them, so no worries there. In short: Bad mp3s will be replaced by original AACs and the rest stays the same. AND your library is automatically synchronized with all your Apple devices, so streaming isn’t a problem anymore as well. iTunes Match costs 25€ a year(!) and allows up to 100.000 files to be uploaded. The same is true for the Apple Music steaming service. It has the same functionality as iTunes Match, but with the additional streaming of their music. Apple Music provides a three months free trial, so you could “legalize” and enhance your music even for free in the aforementioned way.
Edit: I would also recommend “SongKong” for tagging your music. It uses the MusicBrainz and Discogs databases and tags and sorts all your music with one press of a button! Duplicate-removal is just another click.