Author Topic: Managing (levels of) classical music works using MusicBee and MusicBrainz Picard  (Read 26443 times)

hiccup

  • Sr. Member
  • ****
  • Posts: 7477
Absolutely, please take your time. I'll keep at it on my end. Caveat, I'm am new to Classical music in general and their naming conventions etc.

You've probably seen it, if not, this thread could be interesting:
https://getmusicbee.com/forum/index.php?topic=31613.0

hiccup

  • Sr. Member
  • ****
  • Posts: 7477
As I said earlier, just posting my virtual tags is useless since they probably won't work in somebody else's installation.

So here are some more general comments that might explain things a bit.

box 1:

It's a virtual tag that will look for things such as genre category, the presence of work levels, composers, conductors, artists.

For classical releases that contain works/compositions from different composers, and for non-classical releases I will usually have it simply displaying: Album Artist - Album
Like this:




If there is only a single composer for the whole release, the virtual tag will try to list:
Composer, Conductor, Orchestra (ensemble), Featured Artist(s)

'Featured Artist' is a custom tag that I use for what I consider a main performer on a release.
It could be the main vocalist in an opera that I am personally interested in, or the cellist that plays the solo part in a large orchestra.
I have Picard pre-populating that field by using a certain script, but it will usually need some manual editing before I accept it as 'my' featured artist.

B.t.w., I also use that tag for non-classical music, for where I a consider one performer in a band the main artist that I am interested in.


Ensemble/Orchestra is also a custom tag, but it gets populated automatically by Picard and it's Classical Extras plugin and it hardly needs any attention or interaction.


box2:

The sub-grouping field is also a dynamic virtual tag.
It will take into account what content is already displayed in the grouping header. (since that won't need to be repeated)
For multi-level works from one composer it will usually display the name of the acts or scenes from the top level work.
For a compilation album it might display the different composers and their works.

If a release is either: very simple, very complicated, or was not matched at MusicBrainz, I can simply disable the sub-grouping mechanics and have all information displayed in the title field. (also a virtual tag)
That could look like this:




---

About the symbols:

In principle these symbols are just characters such as numbers and letters. But the font that you use will determine the availability of such decorative symbols.

Here are two examples of fonts that contain a lot of useful symbols:

http://www.kreativekorp.com/charset/font/SegoeUISymbol/
http://www.kreativekorp.com/charset/font/SegoeMDL2Assets/

And here is a simple example of how you could use such symbols in a virtual tag:

Code
<Composer>{font: Segoe UI Symbol;Regular;9} 𝄞 {font: Segoe UI;Regular;9}<Work>{font: Segoe UI Symbol;Regular;9} 👤 {font: Segoe UI;Regular;9}<Artist>

I hope this gives you some more clues and amunition to proceed with your quest?

hiccup

  • Sr. Member
  • ****
  • Posts: 7477
why did you choose to leave out the opus number for "..."?

If you see an ellipsis (…) in a title, it's written by the Classical Extras plugin as an indicator that it has stripped a part of a title because it was a duplicate occurring somewhere else already.
If it would not be stripped, titles could get very long, containing partly duplicate information.

You could decide to set the plugin and your script not to use stripped fields, and always show the full available information from work/title fields, but after lots of testing on various sorts of releases I decided to make these choices.

You are very correct to notice that in the screenshot you see the opus nr. mentioned nowhere though.
But... that's an almost one year old screenshot ;-)

After that I have done some tweaking on the script and my virtual formulas, and the result nowadays looks like this:



As you can see the opus number is displayed in the grouping header, so it's o.k. (by me) that it doesn't also display in the sub-grouping header.
You may have another opinion and make different choices, but I have found that for other releases not stripping duplicate parts of titles can result in some very long and superfluous titles that I don't like much.

So it's sort of a compromise and a matter of personal preference.
Last Edit: May 27, 2020, 09:14:46 AM by hiccup

please55

  • Jr. Member
  • **
  • Posts: 65
Sorry I am (very) late to responding to this thread but thanks so much for the additional comments and feedback. Not going to lie, its a lot to take in. I've been reading the Musichi Zen Classical Tagging guide amongst other things and it feels like I know more but left more confused. Which is a shame because my mind is going to get hung up on these details before letting me enjoy the music.

I'll keep digesting it and if you don't mind maybe do a follow up in the future. Cheers for helping though.

hiccup

  • Sr. Member
  • ****
  • Posts: 7477
Not going to lie, its a lot to take in.

Been there, done that.
Don't think 'others' are that smart and have easily figured this out in a completely well-controlled manner.
Classical music is still a bitch to handle, and the nice screenshots and tutorials you will stumble upon will usually be a representation of some best case scenarios and 'in ideal circumstances this would work'.

If I read some of my own posts or 'tutorials' on classical, I sometimes think, huh?, that sounds over-complicated, who is this nerd?

The best way to find your own holy grail will be to read and digest a variety of opinions and then decide on your own system.
Stick with it, and also accept that you will probably need to adjust it once in a while.

hiccup

  • Sr. Member
  • ****
  • Posts: 7477
P.S.

An important warning/suggestion:

It is advisable not to load different classical releases that contain the same classical works in one and the same Picard session.

So if you have e.g. three different albums that all contain Daphnis et Chloé, do not load them together in the same session, but make sure you load and process them separately, and close and restart Picard in-between these sessions.

If you do process them in the same run, there is a possibility of getting inaccurate results.
The reason behind that is a bit complicated, but it has to do with the way the Classical Extras plugin uses cache memory to store release and track relationships.
This cache memory can sometimes be shared/claimed between the different loaded releases, which can prevent getting correct results for all of them.

hiccup

  • Sr. Member
  • ****
  • Posts: 7477
If you are using this system, and are frequently playing classical music, and/or are using a separate portable MusicBee installation, dedicated to your classical music library (as I do), you may be interested in this:
https://getmusicbee.com/forum/index.php?topic=35547.0

It is a replacement for the regular player panel, that displays additional information about the playing track, that is relevant to classical music.


hiccup

  • Sr. Member
  • ****
  • Posts: 7477
Just a heads-up to MusicBrainz' Picard users:

Last week they released a new version (2.7.0), but that release has raised quite a few issues and problems for me.
At the moment I can not pinpoint if they are related to plugins, scripts, or programmatic changes within Picard, but I would personally advise to stick to 2.6.x versions for now.

MetClassOper

  • Newbie
  • *
  • Posts: 16
Dear hiccup,

I am trying to organize my classical music library according to your system, but I have problem creating virtual tags with codes (the virtual tags cannot be parsed). Please would you be as kind as to help  poor, unfortunate soul and repeate whole process with updated informations (MusicBrainz likewise). I would be immensley grateful, because it is immportant for my profession of a musicologist. Also if you could post screenshots of how to create virtual tags and how to make Classical TM Embedded look exactly as yours (with all those kind of sorting/groupings, columns, additional informations etc.). To summ it up: all steps from very beginning on every level to make huge classical music library well organized. Sorry for bothering you with so much pleads, but it will save my life.  

Sincerely yours,
Troubled musicologist
Last Edit: January 14, 2023, 11:48:49 AM by MetClassOper

hiccup

  • Sr. Member
  • ****
  • Posts: 7477
Thanks for the kind words, and welcome to the forum MetClassOper.

While I am willing to help, there are a few things I am reluctant to do, or to happen.

- I am not going to do a complete write up of everything that is needed to get the results from my screenshots.
  That would probably take me a couple of days, and would be repeating a lot of stuff that is already explained in this thread, and/or it would be repeating information about more basic MusicBee concepts that are already to be found on this forum.

- I want to keep this thread on topic as much as possible. Therefor I prefer not to have Q&A's pertaining to more general MusicBee matters.

So, what you could do:

- If you have more general MusicBee challenges (such as creating virtual tags), search the forum, and if that doesn't provide answers create a new 'Questions' topic for it.
- If there are specific steps in this thread that you can't get to work, explain exactly what you are doing and want to achieve, and I will try to help.

techvslife

  • Newbie
  • *
  • Posts: 14
Excellent post -- you've done almost all the work for us!

Just one small question: I get an error on one line: the tag <Work title¨> is undefined in your first post for Album/Work:
Album/Work   :   $If(<Genre Category>="Classical",$IsNull(<Work title¨>,<Album>,<Work title¨>),<Album>)
did I overlook something? (or perhaps you meant <Work [top]¨>? Thank you.

hiccup

  • Sr. Member
  • ****
  • Posts: 7477
Just one small question: I get an error on one line: the tag <Work title¨> is undefined in your first post for Album/Work:
Thanks for the appreciation techvslife.
It has been a while since I posted this, or reviewed/revised it, but since there have been no reports of errors in what is described currently, I am wondering if this is causing the problem for you:

When adding new virtual formulas and keeping that panel open, MusicBee will do some sort of check if it recognises any <tag> that a new virtual tag entry is referencing.
So if virtual tag #2 is referencing virtual tag #1 that hasn't been saved/welcomed yet, it will say 'computer says no'.
So to be completely safe, you should probably: enter one new virtual tag, press save and close the panel.
Open the panel again, add the next one, press save, and close/open again.

Does that solve it?

techvslife

  • Newbie
  • *
  • Posts: 14
Thanks, but that doesn't solve it. I didn't see any place where the tag <Work title¨> was defined in the original post.

You have a total of ten virtual tags defined in that post, including <Album/Work>; the non-virtual tag "Picard title full" is the eleventh tag. <Work title¨> is not one of them, so it makes sense to me that the reference to it in <Album/Work> fails.

That said, this is very minor, as the intent is clear, and <Album/Work> is meant to be very particular to the user preference.

hiccup

  • Sr. Member
  • ****
  • Posts: 7477
Thanks, but that doesn't solve it. I didn't see any place where the tag <Work title¨> was defined in the original post.
Hm, I see. This <Work title¨> thing may be something I had used at earlier stages, but was left behind later on. (and the initial post wasn't corrected for that part)
(I've changed my ways regarding tagging classical music many times over the years)

I'm not completely sure though, and Saturday nights aren't agreeable to my brain to do much 'heavy' lifting, but it told me it will be looking into things at a later time ;-)

hiccup

  • Sr. Member
  • ****
  • Posts: 7477
Just one small question: I get an error on one line: the tag <Work title¨> is undefined in your first post for Album/Work:
Album/Work   :   $If(<Genre Category>="Classical",$IsNull(<Work title¨>,<Album>,<Work title¨>),<Album>)
did I overlook something? (or perhaps you meant <Work [top]¨>? Thank you.
That was in the part somewhere at the end that describes a possible virtual tag when using this system on a mixed classical/non-classical library, correct?
(It will display the album title for non-classical, and the work title for classical)
<Work title¨> was indeed an older virtual tag that I had used earlier in my quest, but I abandoned later.
And I forgot to adjust the suggested virtual tag accordingly. (it's corrected now)

Here is how that tag should be:

Album/Work:
Code
$If(<Genre Category>="Classical",$IsNull(<Work [adapt]¨>,<Album>,<Work [adapt]¨>),<Album>) 
(or you could use one of the other Work …¨ tags, as you correctly assumed)

Thanks for carefully reading and reporting!
Last Edit: May 28, 2023, 06:20:17 AM by hiccup