Author Topic: earliest release year  (Read 8076 times)

Tony_D

  • Jr. Member
  • **
  • Posts: 63
Fellow music lovers,

I have have come across the website https://earliestrelease.com/ and was wondering what can be done with this...
It seems to be an API for media monkey, not to sure about how or what, I'm only a wanting to have correct meta data in my music files, i'm not a coder.

I have installed MusicBrainz Piccard numerous time over many years and each and every time been disappointment with the pretty huge errors regarding first (earliest) release date for a song.
The best script so far (for me) is (date,$if2(%_recording_firstreleasedate%,%originaldate%,%date%)) but have just un-installed Piccard , If I had a nickel for every time I would behaving problems storing my gold bars.

Using Shazam also gives mixed results and compared to manual google search is extremely time consuming.

I'm back doing hard manual labor in using manual search on Google / Wikipedia is still the most most reliable i feel.

It's really not how i want to spend the rest of my life but i can't sleep at night knowing i have many wrong entries in my music database  ;D

I know many of you are struggling also as I have seen many topics on the internet but i can't seem to find the right solution.

Anyone has knowledge of the earliest release year website and can it be useful....

(genre would be another never ending battle)

Tony D.

hiccup

  • Hero Member
  • *****
  • Posts: 9119
That plugin seems to check both MusicBrainz and Discogs for an earliest date.

For Discogs I don't think there currently exists a plugin for MusicBee that can do that.

For MusicBrainz it can be done using Picard.

- download, install and activate the Recording Date plugin
   https://github.com/avh4/picard-recordingdate

- make sure you have checked 'Use release relationships' and 'Use track relationships'.
  (under Options > Metadata)
   note that that plugin will slow down Picard substantially in retrieving the metadata, but that is a necessary consequence of it needing to do several cross-queries

Then use this script:

Code
$if(%originaldate%,$set(_originaldate,%originaldate%),)
$if(%originalyear%,$set(_originalyear,%originalyear%),)
$if(%recordingdate%,$set(_recordingdate,%recordingdate%),)
$unset(originaldate)
$unset(originalyear)
$unset(recordingdate)
$set(_year1,$if(%date%,$left(%date%,4),9999))
$set(_year2,$if(%_originaldate%,$left(%_originaldate%,4),9999))
$set(_year3,$if(%_releasegroup_firstreleasedate%,$left(%_releasegroup_firstreleasedate%,4),9999))
$set(_year4,$if(%_recording_firstreleasedate%,$left(%_recording_firstreleasedate%,4),9999))
$set(_year5,$if(%_recordingdate%,$left(%_recordingdate%,4),9999))
$set(_year6,$if(%_work:forward:performance:begin%,$left(%_work:forward:performance:begin%,4),9999))
$set(_year7,$if(%_place:backward:recorded_at:first%,$left(%_place:backward:recorded_at:first%,4),9999))
$set(_year0,$if($lt(%_year2%,%_year1%),%_year2%,%_year1%))
$set(_year0,$if($lt(%_year3%,%_year0%),%_year3%,%_year0%))
$set(_year0,$if($lt(%_year4%,%_year0%),%_year4%,%_year0%))
$set(_year0,$if($lt(%_year5%,%_year0%),%_year5%,%_year0%))
$set(_year0,$if($lt(%_year6%,%_year0%),%_year6%,%_year0%))
$set(_year0,$if($lt(%_year7%,%_year0%),%_year7%,%_year0%))
$set(_year0,$if($eq(%_year0%,9999),,%_year0%))
$if($eq_any(%_extension%,flac,opus,ape),$set(origyear,%_year0%),$set(originaldate,%_year0%))

$noop(
NOTE:
After completing its task, the script unsets originaldate, originalyear, and recordingdate
[to prevent it possibly creating superfluous tags or compatibility issues with MusicBee]

If you want to use them in subsequent scripting after this one, use %_originaldate% , %_originalyear% and %_recordingdate% instead.
)

It should then look like this:




The script will write the earliest found year to MusicBee's 'Original Year' tag.
If you want it to write to another tag (e.g. a custom tag) you'll need to edit the last line of the script.

PS
Yes, Picard can be a tough nut to crack at first.
I gave up on it a couple of times myself too.
But I would advice to persist and give it another shot. In my opinion it's by far the best option to get your metadata in order and have it aligned with MusicBee.
Last Edit: June 27, 2024, 08:51:33 PM by hiccup

sveakul

  • Hero Member
  • *****
  • Posts: 3274
Whoa!  MusicBrainz/Picard Master here!  Thanks hiccup this script is genius.

Tony_D

  • Jr. Member
  • **
  • Posts: 63

PS
Yes, Picard can be a tough nut to crack at first.
I gave up on it a couple of times myself too.
But I would advice to persist and give it another shot. In my opinion it's by far the best option to get your metadata in order and have it aligned with MusicBee.

Once again Hiccup comes to the resque  ;)

I have high hopes for Picard for many years, equal amounts of let downs...
One last question if I may, can Picard be configured to only write you scripting to the year field and leave the rest as is ?
I have invested much time & effort to have my tags the way I want and I never succeeded in leaving the rest of the tags "alone as is"

Going to try you script soon I think if the rest of my tags can stay as is ,and the speed slow due to the time consuming queries doesn't bother me, good results is for me on place 1, 2 & 3

Thank you (again) for you great help and contribution to the forum (and myself)

Going to enjoy some music now .... Tony D.

hiccup

  • Hero Member
  • *****
  • Posts: 9119
One last question if I may, can Picard be configured to only write you scripting to the year field and leave the rest as is ?
I have invested much time & effort to have my tags the way I want and I never succeeded in leaving the rest of the tags "alone as is"
To prevent Picard from writing other tags, add the script at the bottom of this post.
Picard will then only write the original year, and the regular date tag. (MusicBee's Year)
If you also don't want it to write the regular date, add 'date' to the unset script.

Just test things out on some copies of your music files before unleashing it on your actual library?
In the bottom panel of Picard it will clearly indicate if tags will get written, overwritten or deleted, before you press 'save'.
(by using different colouring of the text)

I've also made a minor modification to the 'earliest year' script in my previous post.

The unset script:

Code
$unset(album)
$unset(albumartist)
$unset(albumartistsort)
$unset(arranger)
$unset(artist)
$unset(artists)
$unset(artistsort)
$unset(asin)
$unset(barcode)
$unset(catalognumber)
$unset(compilation)
$unset(composer)
$unset(composersort)
$unset(conductor)
$unset(conductorsort)
$unset(discnumber)
$unset(discsubtitle)
$unset(djmixer)
$unset(engineer)
$unset(isrc)
$unset(label)
$unset(language)
$unset(license)
$unset(lyricist)
$unset(media)
$unset(mixer)
$unset(musicbrainz_albumartistid)
$unset(musicbrainz_albumid)
$unset(musicbrainz_artistid)
$unset(musicbrainz_recordingid)
$unset(musicbrainz_releasegroupid)
$unset(musicbrainz_trackid)
$unset(musicbrainz_workid)
$unset(performer)
$unset(performer:*)
$unset(producer)
$unset(releasecountry)
$unset(releasestatus)
$unset(releasetype)
$unset(remixer)
$unset(script)
$unset(title)
$unset(titlesort)
$unset(totaldiscs)
$unset(totaltracks)
$unset(tracknumber)
$unset(website)
$unset(work)
$unset(writer)
Last Edit: June 22, 2024, 09:26:27 AM by hiccup

Tony_D

  • Jr. Member
  • **
  • Posts: 63
I have tested with a couple of compilation albums (I have 1500+ done without year) and unfortunately it's often around 25% wrong.
The testing was with compilations from known record labels which have mostly "known" songs (nothing obscure to keep it fair).

On one 50's compilation made in 1999 there were entries of song date ranging from 2001 to 2023 ?

The second compilation that stands out is a 4 disc set with 60's and 70's music, I'm not that particular, I have no problem with plus or minus one year discrepancy but again, from the 80 tracks there were 20 wrong ranging from the year 2000 until 2023.
There were some tracks from the 80's, compilations are know for that (haven't check the accuracy by hand of those) but given the 20 (or more) tracks that are obviously wrong gives me a bad feeling.
I could of course delete those tags that are obviously wrong but I don't know about the rest, are they correct or do i need to check them one by one...

The bigger problems starts when I have no idea about the song or artists that I am not familiar with, compilations have often songs spanning decades and that gives me even more worries.
Its clear that artist albums are mostly no problem for picard, those come out pretty fine.
I find it a pity that so many volunteers have spend much time and effort to create a database because the music industry never bothered much, and until today is only useful for the general inquiries, when an release is printed on disc you can get from the CD (inlays or back) but often best of and compilations have totally no date / year, that laziness baffles me (O.K. end of rant :( )

-------------------------------------

Your script is awesome ( not tested writing yet) it gives me much more (assumed) correct dates then what I ever managed to get out of Picard but it proves to me again that for my use I can't rely on automation.
I still have a couple of thousand CD's to rip, I have always done manual data correction, looks like I still have to continue my old ways for the time being...

Thank you so far for all the help

Time for some listening music with MusicBee  8)

Tony D.

hiccup

  • Hero Member
  • *****
  • Posts: 9119
I have tested with a couple of compilation albums (I have 1500+ done without year) and unfortunately it's often around 25% wrong.
The testing was with compilations from known record labels which have mostly "known" songs (nothing obscure to keep it fair).
Yeah, that is something I often notice with compilation albums too.

For as far as I understand there can be two reasons for original/first dates not getting retrieved for songs on compilations:

1.  The song is slightly more obscure, and no one has entered much information on it in MusicBrainz' database yet.
2.  The song is not that obscure, but the version on the compilation album is not recognised as beeing the same one as the original, more well-known recording.

The latter could e.g. be caused by the compilation album version being shortened by the record label, or even it being some altered mix.
In that case the information that is present for the original recording will not be found and matched with the compilation album version.

A solution I sometimes use for that is the following:

Use a Picard install (e.g. a secondary portable version) which you configure to have it prefer to match regular albums and singles much more than compilation albums.

something like this:


If you Scan (not Lookup) a compilation album with such settings, you will probably see the songs often getting matched to the original release of a song instead of to the compilation album. (you could even force such matches manually by looking up the original releases, but that's a lot of work)
This will give much higher chance of getting more complete and correct metadata/tags for these songs.

Obviously you'll need to keep Album Artist and Album the same for all the tracks, else these compilation albums will 'explode' in MusicBee's interface.

Tony_D

  • Jr. Member
  • **
  • Posts: 63
Thank you for your help !

Looking at your screen shot i also have the first three sliders for album, single & ep fully to the right (on)
The rest in my settings is fully left (off)

Should i move my to same as you're settings example ?

Tony D.

Tony_D

  • Jr. Member
  • **
  • Posts: 63
Quickly tested again with both yours and mine settings on the 50's compilation CD.

Your settings gave ALL of the 24 tracks a possible year with 13 obvious mistakes (year after the CD was pressed :))
My settings gave NOT all of the 24 tracks a possible year, also with 13 obvious mistakes, but this time 4 empty year tags.

Conclusion is that your settings gives more results but the completeness of the MusicBrainz database is apparent.

I will still use your script to help out with newer songs that i actually know, easier to see if year is way off, and especially with album it functions of course much much better.
Too bad, I would like to have my compilations to proper for once, wishful thinking i guess.

I will leave it for now as is, we can't get this (any) much better than this at present so we spend our energy ripping & listening :)

Thank you for you help and if in future if this problem has a solution (not likely) or improvement we will be back....

Tony D.

hiccup

  • Hero Member
  • *****
  • Posts: 9119
Quickly tested again with both yours and mine settings on the 50's compilation CD.
Can you share the MusicBrainz link of that album?


Tony_D

  • Jr. Member
  • **
  • Posts: 63
Ha Haaaa, of course I can't leave it alone, just tested your script + writing tags and it worked perfect on a best of CD from Fischer-Z, in leaving all my original tags and only write the year, very happy with that !

But  8)  i.e. song the worker, ORIGIYEAR = 1979, YEAR = 1997 (that's i guess this version on the CD i have /remaster/edit...)

Just one last question (that's actually a lie) I see in MP3tag that Picard makes a ORIGIYEAR tag and writes the OLDEST year in that field, I still can't grasp the scripting yet, could you modify (your last line in the script line - I guess) to not create the ORIGIYEAR but write that value in the year tag and (forget about the much newer date - I have no use for that)

Thank you again Hiccup, last one for a while... today anyway :)

Tony D.

hiccup

  • Hero Member
  • *****
  • Posts: 9119
Here you are...
Thanks.
I am getting a similar (disappointing) success rate on that compilation box-set.
(even when using Scan per track, and not Cluster > Lookup)

There will be various reasons why that is.
For one, I noticed quite a few Dutch songs. I can imagine the amount of kaaskoppen that contribute to MusicBrainz' database won't be that high.

Some other songs may be 'difficult' in one way or another.
E.g. the 'Harry Lime theme' dates back to 1949. (for the record, not the 50's ;-)
But originally it was a shellack release with a duration of 2:10
https://musicbrainz.org/release-group/795f2211-dfc0-4308-8f1b-344699db3830
The version on the compilation album is 2:57
So that would probably make it problematic for Picard to match.

You could match it manually to that shellack release to have the correct original date, but making such an effort for each and every song that wasn't matched to a correct first release date is going to be quite time-consuming.

You started this thread by mentioning a MediaMonkey plugin that aims to get original dates.
It would be interesting to learn if somebody is using that one, and could let us know if that one does any better with compilation albums like this one.
Last Edit: June 12, 2024, 05:35:40 PM by hiccup

hiccup

  • Hero Member
  • *****
  • Posts: 9119
Just one last question (that's actually a lie) I see in MP3tag that Picard makes a ORIGIYEAR tag and writes the OLDEST year in that field, I still can't grasp the scripting yet, could you modify (your last line in the script line - I guess) to not create the ORIGIYEAR but write that value in the year tag and (forget about the much newer date - I have no use for that)
Do I understand correctly that you want MusicBee's regular Year tag to get written with what Picard considers ' originalyear'?

If so, just add this line to the script:
$set(date,%originalyear%)
and remove the line
$unset(originalyear)

Tony_D

  • Jr. Member
  • **
  • Posts: 63
Have modified your script and after testing 2 CD's it looks like that this is what I wanted to achieve !
Thank you very much in helping me so often, much appreciated Hiccup.
(I was reluctant to ask this at the Musicbrainz forum, it different there if you are a noob)

This MusicBee forum is one of the exceptions on the internet where it's as good and friendly as the software itself...

Glad I found it, and will pas it on every chance I get  8)

Tony D.