Author Topic: The Road to Perdition, or how I Stopped Worrying and Learned to Love MusicBrainz  (Read 13673 times)

Phaedrus

  • Jr. Member
  • **
  • Posts: 115
Based on a post in Questions, about Advanced Auto Playlist options, I am switching to MusicBrainz Picard for Tagging.
Thought I'd share thoughts as I go. Feel free to chime in with resources, or pointers.

1. If your files are already sorted into directories, don't drag the root folder to MusicBrainz, and let it sort them out. You will be disappointed. Drag the Root of the folders to the left side and then "Cluster." It will be much better.
2. Picard is incredibly powerful, and can be customized with scripts. You can get pretty good information without resorting to them.
3. Work with a copied subset of your library until you are comfortable with the results. (Should be common sense, but I'm not taking anything for granted.)
4. The Album Art is fairly disappointing compared to Discogs.
5. Maybe it's just me, but the documentation is only adequate at best.
6. It is not "Set it and forget it" for updating an existing library. There will be some manual checking. Plan accordingly.
7. Once the IDs are all set from the first cycle, subsequent cycles will be faster.
8. I am not a coder, and trying to create scripts is really driving that point home.
Dell Inspiron, i5, 16GB, 256GBSSD
Windows 11 Preview
MusicBee 3.4.8033, installed on C:\
Library on External drive;
285,125 Tracks, 17,922 Albums, 4252.94GB, 825d 14:11

Topping D10 32bit 384 kHz USB DAC
O2 Headphone Amplifier
beyerdynamic DT770M 80 ohm
Crossfade M-100 Master Over-Ear

frankz

  • Hero Member
  • *****
  • Posts: 3317
4. The Album Art is fairly disappointing compared to Discogs.

Art is a weak spot for Picard for sure.  I only ever do front covers, so my response here might not apply to your specific needs, but there are ways to improve the retrieved art.

1. Install and activate the fanart.tv plugin.  You will need a free fanart.tv API key, which you can get by registering on their site
2. Options->Options->Cover Art and adjust the rankings.  Fanart.tv and Cover Art Archive have large cover art (1000x1000 and above, generally) and a wide selection between them.  Amazon has almost everything as you would imagine, but sizes vary wildly.  You can adjust the allowed size by for Cover Art Archive by...
3. Clicking the right-facing arrow next to "Cover Art" at the left and setting the size.

One HUGE caveat - if your file already has art and Picard cannot find updated art for it, it will DELETE YOUR CURRENT ART IN THE FILE when you save your tags.  There is no way to preserve your current art.  If you notice there is no new art listed, you should click "Show More Details" under the art, double-click your current art in the new window, which will open it in a photo viewer, and save a copy to drag and drop back into Picard to save.

If you don't embed your art, this is not an issue.  It will not delete local cover files it finds, it just replaces the tag for embedded art.
A smile is happiness you'll find right under your nose.

Phaedrus

  • Jr. Member
  • **
  • Posts: 115
I haven't even started on figuring out the art. This will be very helpful. I'm not married to having all the available art for each album, but I have to have a cover. I suspect that this will be the biggest time sink when I start going through my full library.

I'm working on the script to format tags "Properly." It's only a few lines, but then, I haven't even gotten to any of the specific exception cases yet.

I can add to my list that tagging a library with both MP3 and FLAC files is a major pain.
Dell Inspiron, i5, 16GB, 256GBSSD
Windows 11 Preview
MusicBee 3.4.8033, installed on C:\
Library on External drive;
285,125 Tracks, 17,922 Albums, 4252.94GB, 825d 14:11

Topping D10 32bit 384 kHz USB DAC
O2 Headphone Amplifier
beyerdynamic DT770M 80 ohm
Crossfade M-100 Master Over-Ear

frankz

  • Hero Member
  • *****
  • Posts: 3317
Tagging in general is tedious, which is how I wound up with thousands of files with genres representing types of music I couldn't explain in a million years. :) 
A smile is happiness you'll find right under your nose.

Phaedrus

  • Jr. Member
  • **
  • Posts: 115
Tagging in general is tedious, which is how I wound up with thousands of files with genres representing types of music I couldn't explain in a million years. :)

I made the mistake of adding all the genre tags from last.fm to my library. Now I have 518 different genres many of which are just variable spellings. And that was using a pretty extensive blacklist, and ignoring Mood, Occasion and Category. After that, it was game over. I remember throwing my hands up when a Barry Manilow track showed up under "Hard Rock."

I have a foolish hope that MusicBrainz will save me.
Dell Inspiron, i5, 16GB, 256GBSSD
Windows 11 Preview
MusicBee 3.4.8033, installed on C:\
Library on External drive;
285,125 Tracks, 17,922 Albums, 4252.94GB, 825d 14:11

Topping D10 32bit 384 kHz USB DAC
O2 Headphone Amplifier
beyerdynamic DT770M 80 ohm
Crossfade M-100 Master Over-Ear

Penn

  • Jr. Member
  • **
  • Posts: 33
I would love to get my genres sorted out, made the same mistake with Last FM.

I just need to separate dance, rock, pop, ballads with reasonable accuracy and I'd be happy.

You doing it with MusicBrainz?

frankz

  • Hero Member
  • *****
  • Posts: 3317
Warning when it comes to Genre and MusicBrainz.  There's a plugin called Wikidata-Genre. It may just be me and YMMV and all that, but it completely locked up MusicBrainz every time I tried to tag an album.  It would start downloading album data and then freeze.  Took a lot of time to figure out which plugin was doing it, that was the one.

I honestly haven't found a good solution for Genre data anywhere besides the two things at the sides of my head.  There's too much variation in peoples' perceptions and descriptions.
A smile is happiness you'll find right under your nose.

Phaedrus

  • Jr. Member
  • **
  • Posts: 115
Quote
I would love to get my genres sorted out, made the same mistake with Last FM. I just need to separate dance, rock, pop, ballads with reasonable accuracy and I'd be happy. You doing it with MusicBrainz?

There was so much promise with genres in Last.FM. I'm giving it a go with MusicBrainz; see below.

Quote
Warning when it comes to Genre and MusicBrainz. There's a plugin called Wikidata-Genre. It may just be me and YMMV and all that, but it completely locked up MusicBrainz every time I tried to tag an album. It would start downloading album data and then freeze. Took a lot of time to figure out which plugin was doing it, that was the one. I honestly haven't found a good solution for Genre data anywhere besides the two things at the sides of my head. There's too much variation in peoples' perceptions and descriptions.

I don't think there is a "Good" solution for genres. I can't even say that the stuff between my ears is any good. I found that order and frame of mind affected how I perceived tracks. I couldn't even be consistent within my own head. I spent hours researching genres, and trying to come up with a system, and ultimately failed. This was one of the things which led me to Discogs. Their Genres for the album are usually a really good starting point. I may well end up sticking with a combination of Picard, and my old MM/Discogs Plugin. (Great, instead of simplifying, I've made my process longer, and more complicated; unless I can figure out how to script scraping Discogs from within Picard.)

MusicBrainz does have a newer plugin for using Last.FM that works, and I've been using the Wikidata with no problem. I'm working out how to let it use Last.FM for Decade, Mood, and Ocassion; while I use Wikidata for the Genre. Somehow, I have an "Album Genre" which should be nice. I'm experimenting with a batch of albums and trying different combinations before I start importing into MusicBee, and I now have a few tracks by Toby Keith listed as "Emo."

I found the Picard forum to be right next to useless, unless you already have the answer you want. I hate the interface, and I can never find anything useful using the search. I've just been reading random posts, and hoping it points me to an answer.

So far the only real positive is that I've learned that I'm better at scripting than I give myself credit for.
Dell Inspiron, i5, 16GB, 256GBSSD
Windows 11 Preview
MusicBee 3.4.8033, installed on C:\
Library on External drive;
285,125 Tracks, 17,922 Albums, 4252.94GB, 825d 14:11

Topping D10 32bit 384 kHz USB DAC
O2 Headphone Amplifier
beyerdynamic DT770M 80 ohm
Crossfade M-100 Master Over-Ear

Phaedrus

  • Jr. Member
  • **
  • Posts: 115
So, after writing that last post, and poking around the albums I've already tagged; I'm just gonna go with it.

1. Once the track has the MusicBrainz information in it, I can run through them again without breaking anything. The best part is that I can do the second run-through largely unattended.

2. My Genre tags are already so useless that anything different would be an improvement.

3. Once I start re-tagging my existing library, I can have specific tags kept. I don't have to lose anything.

Then again, what do I know? I'm the idiot that imported the Last.FM genre information into my library.
Dell Inspiron, i5, 16GB, 256GBSSD
Windows 11 Preview
MusicBee 3.4.8033, installed on C:\
Library on External drive;
285,125 Tracks, 17,922 Albums, 4252.94GB, 825d 14:11

Topping D10 32bit 384 kHz USB DAC
O2 Headphone Amplifier
beyerdynamic DT770M 80 ohm
Crossfade M-100 Master Over-Ear

hiccup

  • Hero Member
  • *****
  • Posts: 6562
Nice reads, and I can relate to pretty much everything you are experiencing.
Keep 'em coming ;-)

And if you come up with scripts that you think that might be useful, perhaps share them here?
I also agree that the MusicBrainz forum somehow doesn't work well in sharing thoughts and ideas.
Something like form over function?

Phaedrus

  • Jr. Member
  • **
  • Posts: 115
Nice reads, and I can relate to pretty much everything you are experiencing. Keep 'em coming ;-)

Thank you kindly. -blush- I figure I can at least be entertaining.

And if you come up with scripts that you think that might be useful, perhaps share them here?

I thought I was good with my pretty simple Naming script;
Code
$if2(
    %_secondaryreleasetype%,
    %_primaryreleasetype%,
    %_secondaryreleasetype%
    )
/%albumartist%
/%album%
/$pad(%tracknumber%,3,0) - %artist% - %title%

This gives me
<Library Root>
\release type (Album if it isn't a Compilation, Soundtrack, etc.)
\Artist
\Album Artist
\<Track No. 000> - <Track Artist> - <Track Name>.<Extension>

Now, I think I'm fancy;
Code
$if(
    %_secondaryreleasetype%,
    $upper($firstalphachar(%_secondaryreleasetype%))$rreplace(%_secondaryreleasetype%,.\([^;]*\).*,\\1),
    $upper($firstalphachar(%_primaryreleasetype%))$rreplace(%_primaryreleasetype%,.\([^;]*\).*,\\1))
/%albumartist%
/%album%
/$pad(%tracknumber%,3,0) - %artist% - %title%
This gives me the exact same thing, except now the Secondary and Primary "albumtype" directory is properly capitalized.

The first script took me 5 minutes. The second iteration took me like 5 days. I just couldn't be happy with all lower case, could I?
Dell Inspiron, i5, 16GB, 256GBSSD
Windows 11 Preview
MusicBee 3.4.8033, installed on C:\
Library on External drive;
285,125 Tracks, 17,922 Albums, 4252.94GB, 825d 14:11

Topping D10 32bit 384 kHz USB DAC
O2 Headphone Amplifier
beyerdynamic DT770M 80 ohm
Crossfade M-100 Master Over-Ear

Phaedrus

  • Jr. Member
  • **
  • Posts: 115
And now, because it fits with everything I've done with MusicBrainz so far;

I have totally forgotten that Windows directories are not case sensitive. I could have accomplished the exact same thing by renaming the folders I'm saving to.
Dell Inspiron, i5, 16GB, 256GBSSD
Windows 11 Preview
MusicBee 3.4.8033, installed on C:\
Library on External drive;
285,125 Tracks, 17,922 Albums, 4252.94GB, 825d 14:11

Topping D10 32bit 384 kHz USB DAC
O2 Headphone Amplifier
beyerdynamic DT770M 80 ohm
Crossfade M-100 Master Over-Ear

Phaedrus

  • Jr. Member
  • **
  • Posts: 115
So, I have spent the last week fighting the tagging script to bend the tags to my will, and I find myself re-evaluating why I'm using MusicBrainz. (Great, more self-examination.) On an unrelated note, my S.O. asked me what I was doing as I sat at my computer staring into space, and I got to throw her one of my movie quotes; "Self realization. I was thinking of the immortal words of Socrates, who said; "I Drank What?" She rolled her eyes and walked out. Love her to pieces.

I had a really long script that did all kinds of cool things; only Year for release, strip prefixes from sort order (not move to the end, strip) strip out total tracks/discs, etc. Then, I got to the part where I tried to set Album Artist for soundtracks to be "1Soundtrack" and standard compilations to "1Various." "Various" gets buried in the Album Artist list if I don't add the "1." I can't for the life of me figure out how to do this in a script without resorting to some strange gymnastics. I got this sorted, and realized that I still had some other things like that I wanted to do, and started thinking that this was way too complicated.

Finally, the white-hot blast of realization came to me; "I'm doing it wrong." I was trying to use MusicBrainz to make my tags work the way I wanted them to work. I should be thinking of MusicBrainz as a way to tag my files consistently so that I can use my media manager to make my library work the way I want it to.

Suddenly it all makes sense. Now I understand why there was so little talk about tagging scripts; they shouldn't do much. File naming is more important, because the tags are canon, but the operating system is capricious. There is so much talk about custom tags here in MusicBee, because the tag is immutable, and the view is changed to suit desires.

So, I had a huge script that took into account potential tag variance, and changed all kinds of information. I was up to 100 lines of text in Notepad++ at one point. And now I have this;
Code
$noop((Number Padding Track to nnn, Disc to NN)
$set(tracknumber,$pad(%tracknumber%,3,0))
$set(discnumber,$pad(%discnumber%,2,0))
$noop(strip out embedded lyrics)
$unset(%lyrics%)
$noop(Going off the rails)
$set(%PicardRate%,%_releasecomment%)

I did not realize how prescient my title would be.
Dell Inspiron, i5, 16GB, 256GBSSD
Windows 11 Preview
MusicBee 3.4.8033, installed on C:\
Library on External drive;
285,125 Tracks, 17,922 Albums, 4252.94GB, 825d 14:11

Topping D10 32bit 384 kHz USB DAC
O2 Headphone Amplifier
beyerdynamic DT770M 80 ohm
Crossfade M-100 Master Over-Ear

frankz

  • Hero Member
  • *****
  • Posts: 3317
Welcome back from the edge.  :)

FWIW, here's my tagger script in total.  It just gets tags where I want them, removes things I don't use, and takes care of things that I can't handle in bulk in the library manager.  I also use the "feat artist in titles" and "Standardize performers" plugins.

Code
$if($eq(%totaldiscs%,1),$unset(totaldiscs);$unset(discnumber))
$if($gt(%totaldiscs%,1),$set(discnumber,$num(%discnumber%,2));$unset(totaldiscs))
$set(tracknumber,$num(%tracknumber%,2)),$unset(totaltracks)
$set(date,$if2($left(%originaldate%,4),%date%)),$unset(originaldate)
$copymerge(composer,writer)
$copymerge(composer,lyricist)
$unset(writer)
$unset(lyricist)
$setmulti(composer,%composer%)
A smile is happiness you'll find right under your nose.

hiccup

  • Hero Member
  • *****
  • Posts: 6562