I have a nearly perfect library of flac files. The only thing I am missing in a lot of files is the “release year” of the tracks under the tag “Date”.
I dont want to overwrite all the tags with tags from databases, because I am happy with the library except the year tag.
Is there an easy way to mark all files and let picard only fill in the “release year” in the tag “year”? (I dont want “release year” as an extra tag, because my mp3 players will not show this.
You have a two part question there.
One is - keep all tags and don’t change them.
Second is - write Original Release Date into Date field.
Are your files already tagged with MusicBrainz IDs? If they are, the above will be a lot easier.
Thank you so much! No I dont have MusicBrainz IDs. I ripped all the Cds with XLD and used different databases. I also changed a lot of tags, because artists were spelled differently and I separated bonustracks in my own way. So becuase of that I, I don’t want to overwrite them.
Only the “year” tag should be overwritten.
You are going to have some problems then, but this should be possible. I suggest take a COPY of some of your albums as test data. Put the COPIES into a folder so you can experiment with Picard. I keep saying COPIES so you can get the technique right before pointing at your main collection.
There are other issues you are going to have. So you need to work carefully while taming the complex beast that is Picard. Picard is the tagging tool of choice here that best matches the way the database works. It will attempt to identify your tracks by either AcousticIDs or tag data. And then it wants to replace your tags with its own.
The trick is to put a couple of albums into Picard and hit CLUSTER. This makes Picard group the albums up together as Albums. Now I personally always use the SCAN button at this point to get an AcousticID of the tracks which are then used to look up in the database for a match. Other people prefer to use the LOOKUP button as it instead uses the tags in the files to lookup.
This will result in Picard picking one of many different releases. It is often the right one, but in your case you don’t care. You only want one single bit of data - Original Release Date.
Look down the list of tags ready to be written and you will see it there. BUT your problem is that Picard now wants to replace all of your tags. And this is the area you’ll need to find a solution to.
For a single album you can use the bottom have of the screen to RIGHT CLICK on the separate tags and set Use Original Values but that means selecting this every time.
Yes, you can speed that up by using CTRL+A to select ALL the tags, then RIGHT CLICK and use Use Original Values, then unselect the date… but this will be stupidly slow.
SO… which tags do you have now? Have you been consistent? Have you ALWAYS got the same six or so tags in your files? If you have ALWAYS the same tags then Picard can be told to always leave them alone. If you go into the OPTIONS in Picard and look under TAGS you will find a setting in here that lets you “Preserve these tags from being cleared or overwritten with MusicBrainz data”. In here you need to list the tags your files currently hold. THAT will then stop Picard overwriting data you already have.
BUT you are still needing to swap that ORIGINAL RELEASE DATE into the DATE field. And this is another game you have to play.
In the SCRIPTING section you can add all kinds of fancy rules. In your case you want to do something like $set(date, %originaldate%) (And that is a total guess)
I have no idea about this one - this would be the ideal solution if it works in the way it looks like - go to the TAGS section and untick WRITE TAGS TO FILES and then use the SCRIPTS section to just set(date, %originaldate%). That would then be the only tag that changes when you hit save. But that is a guess…
To be honest with you, I am a bit of a noob at this too. So the above are a handful of guidelines to get you on the right track. Hopefully the experts will pop in and come up with better solutions. For example - there must be a better way of telling Picard to write just a single item like you need.
Dear Ivan, thank you so much for this detailed answer! I think I can work with that. I also found the option to disable “overwrite covers”, so the most important data should be saved.
For the transition of “release date” to “year” I think I can use another mp3 tagger, that has a built in option “tag to tag”. I used this many times, for example to make “artist” into “album artist”.
I would love to try out today, but I will be on holiday for a week. So I will let you know next weekend, if it worked out!
You can also use a script like this:
This will leave you with only the year.
Or if you want to use the original release date use:
@bobabobabo well spotted - I forgot the artwork overwrite (I don’t like embedded art myself).
Take your time to look carefully through Picard and there is a lot you can control. And there are some real experts here to give you the details. @outsidecontext is one of those experts and has supplied that magical “put the release date in the normal date field” script for you. So should be no need to use that other tagger. Scripting in Picard is insanely powerful.
I just got home and tried out and it works!
The only problem is, that picard is very slow. I loaded 16000 files and it works, but very very slow…
16 thousand files is a lot of data to work though! It will also be hard for you to check if the results are correct. Make sure you are using Picard v2.0 as it is quicker. Turn off the artwork as this can make a big difference.
But also think about how long it would take you as a human to:
- read some tags from a single file
- lookup those items on line
- wait for the database to respond
- download that response
- now open a file for writing
- write that date
- close the file
- move on to next…
This is why it is always best to do these tasks in batches of a few dozen at a time.
But even 16000 files… Picard will get there in the end. Just walk away and leave it to churn… and ignore it if Windows says “Not Responding” as that just mean “really really busy - too busy to update the screen”