Author Topic: MusicBrainz Picard q & a thread  (Read 95278 times)

hiccup

  • Hero Member
  • *****
  • Posts: 8036
So that one should then run before your script? I'll give that a shot.
Seeing all these sorts of featurings and guest varieties (guest artist, guest vocals, guest performer, guest engineer, etc) begins to instill some doubts in what it is that I actually want ;-)
(and if all the effort involved will be worthwhile)

update:
The plugin seems to play nice together with your script.
(perhaps add it as a sidenote on the script page on the wiki that that plugin is advised to make the feature feature work in all cases?)
Last Edit: August 05, 2018, 07:56:44 PM by hiccup

hiccup

  • Hero Member
  • *****
  • Posts: 8036
Being a bit infatuaded with all these scripting possibilities, I may have overlooked a basic issue that made me turn to scripting for what I am trying to achieve here.

I now understand that in the 'artist' tag you will get exactly what somebody has entered in the MusicBrainz database for release artist.
(one release might say 'featuring', another one 'feat.', another one 'with', etc.)
Solving this by means of a script is admirable, but also a bit complicated and perhaps not even necessary, because:

Besides this 'artist' tag, Picard will also write 'artists' tags.
The 'artists' tags get populated with all artists that were entered as being 'the artist' for that release.

MusicBee will recognize these just fine when you open the tag editor.
But when you use an 'artists' column in MusicBee, these 'artists' will not show up there.

Why would this be?
If this would work, we could probably do without the need for scripting to solve this?

(and please correct me if I am making any wrong assumptions, I'm e.g. still not sure how the concept of 'guest artist' would fit in all of this)


psychoadept

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 10721
The reason it doesn't show up as Artists in MusicBee is because that's simply a list of everything in TPE1. You'd have to configure Musicbrainz TXXX/Artists as a custom tag.

I'll still have to take a closer look at the Guest Artist script, but if I recall it works by just removing whatever value is before "feat." from the artists list and assigning the rest to Guest Artist.
MusicBee Wiki
Use & improve MusicBee's documentation!

Latest patches (3.5/3.6)
(Unzip and overwrite existing program files)

hiccup

  • Hero Member
  • *****
  • Posts: 8036
The reason it doesn't show up as Artists in MusicBee is because that's simply a list of everything in TPE1

Ah thanks, so artists shows every artist but not the artists.
(I'm not gonna touch this subject when explaining tagging to friends and family ;-)
 
Per your suggestion I might decide to go the road of sacrificing one custom tag for this.
With that one, together with a virtual tag such as: <Artist>;$IsNull(<artist custom>,,<artist custom>)", I think I will be covered.
(A quick test shows that it seems to work, but I'll probably need to run some more releases through Picard before I'm confident enough)

If it does work, I'll prefer it over a script. For me: the less Picard plugins and scripts needed, the better.
It's more straightforward, and probably more robust too.

Just the: "$setmulti(guest artist,$replace(%artists%,%artist%; ,))" part alone has accelerated grey hairs conquering terrain.
Last Edit: August 06, 2018, 07:47:12 PM by hiccup

hiccup

  • Hero Member
  • *****
  • Posts: 8036
I think I have the reached the perfect solution and can write up the epilogue:

My goal was to have an 'artist' column in the column browser that displays all artists. (every person under 'displayed artist, artist, artists)
The script works fine in most cases, but in the 'Artist' column, also all performers (musicians) will be displayed.
And that's not what I want for that column.
(It's not the script's 'fault', but it's because of the way MusicBee manages 'Artist' in the column browser)

To solve that by trying to change the script doesn't seem a viable option to me, and it would almost certainly have some other unwanted or unexpected consequences.

Now the solution for me is:
Create a custom tag called 'Artists', populate all boxes with 'ARTISTS'.
(as a display name under Tags (1) you'll have to choose something slightly different, e.g. 'Artists (c)')
Then create a virtual tag called (something like) 'Artists (v)'.

Code
<Artist>;$IsNull(<Artists [c]>,,<Artists [c]>);$IsNull(<Artists: Artist>,,<Artists: Artist>)
Set 'Artists (v)' as a column, and that will do exactly what I was aiming for, without the need for any plugins or scripts.

edit:
Anytime soon, creating a custom or virtual tag with the name 'Artist' will not be allowed by MB anymore. So if you still want to use this formula you'll have to change it's name to something else.


update:
I've changed my ways. This is how I do it now, it catches and covers all credited artists much better:
https://getmusicbee.com/forum/index.php?topic=29851.0
Last Edit: October 16, 2019, 06:03:10 PM by hiccup

hiccup

  • Hero Member
  • *****
  • Posts: 8036
Now that I seem to have found a way to gather all 'artists', another thing I hoped to achieve with the help of Picard was being able to retrieve and filter all 'producers' in MusicBee.
With 'producers', in this context I mean the people having an influence on 'the sound' of a track or an album (and sometimes even an artist).

MusicBrainz has a plethora of descriptions and refinements for such roles.
Those being: engineer, assistant engineer, producer, additional producer, mixer, remixer, etc. etc.
One of the problems is that at this moment Picard will not retrieve the more detailed roles.

So transfering all persons involved in 'producing the sound' from MusicBrainz to MusicBee is:
- currently not possible
- time-consuming, and will require many improvements on both Picard and MusicBee
- not worth all the effort (my opinion)

So I looked for a quick and dirty solution, and I believe I found one.

I created a simple Picard script, and one MusicBee custom tag.

Script:
$setmulti(PRODENGMIX,$if(%engineer%,%engineer%;,)$if(%producer%,%producer%;,)$if(%mixer%,%mixer%;,)$if(%djmixer%,%djmixer%;,)$if(%remixer%,%remixer%;,),;))

Custom tag:
identifier: Producer/Engineer/Mixer
id3, vorbis, etc.: PRODENGMIX

Having these set, after running a release through Picard, MusicBee will have this custom tag populated containing all persons that Picard has retrieved having roles credited as:

engineer
producer
mixer
djmixer
remixer

As I said, it's a rough and imperfect solution.
By just looking at the column you won't be able to dissect the exact roles of the persons, and due to the current imperfections of Picard, roles that are defined in more detail at MusicBrainz, such as 'assistant engineer' and 'assistant producer' won't even show up at all at this moment.

But for now, I find this very useful.

I am interested in other forum members having other solutions or ideas about the general thought behind this, and invite any member to shoot holes in both the idea and the workings of the script.
Last Edit: August 08, 2018, 12:06:11 PM by hiccup

hiccup

  • Hero Member
  • *****
  • Posts: 8036
MusicBrainz provides several types of MBIDs (MusicBrainz Identifiers)
It can be useful to have these available in MusicBee so you can e.g. create shortcuts to the related MusicBrainz website pages.
But to do that, you would need to setup a custom tag for each MBID, and since MusicBee currently has a limited number of 16 custom tags, most of us won't have enough freely available.

To circumvent this problem, I created a Picard script that will populate one custom tag which will contain all available MBIDs.
(that is, all that I am aware of, and find useful)
After that you can create one virtual tag for every MBID you would like to have available in MusicBee.
(assuming you still have enough of those available)

The script to setup in Picard is:
$set(MUSICBRAINZIDS,TRACK_%musicbrainz_trackid%_ART_%musicbrainz_artistid%_REC_%musicbrainz_recordingid%_REL_%musicbrainz_albumid%_RELART_%musicbrainz_albumartistid%_RELGRP_%musicbrainz_releasegroupid%_WORK_%musicbrainz_workid%)

The custom tag to setup in MusicBee is:
identifier:  MusicBrainz IDs
tag code:  MUSICBRAINZIDS

The virtual tags would be:

MusicBrainz Track Id                   $Split(<MusicBrainz IDs>,"_",2)
MusicBrainz Artist Id                   $Split(<MusicBrainz IDs>,"_",4)
MusicBrainz Recording Id           $Split(<MusicBrainz IDs>,"_",6)
MusicBrainz Release Id               $Split(<MusicBrainz IDs>,"_",8)
MusicBrainz Release Artist Id     $Split(<MusicBrainz IDs>,"_",10)
MusicBrainz Release Group Id     $Split(<MusicBrainz IDs>,"_",12)
MusicBrainz Work Id                     $Split(<MusicBrainz IDs>,"_",14)

You can then configure custom weblinks for the track details panel:

MusicBrainz Track Id                   https://musicbrainz.org/search *)
MusicBrainz Artist Id                   https://musicbrainz.org/artist/<MusicBrainz Artist Id>
MusicBrainz Recording Id           https://musicbrainz.org/recording/<MusicBrainz Recording Id>
MusicBrainz Release Id               https://musicbrainz.org/release/<MusicBrainz Release Id>
MusicBrainz Release Artist Id     https://musicbrainz.org/artist/<MusicBrainz Release Artist Id>
MusicBrainz Release Group Id    https://musicbrainz.org/release-group/<MusicBrainz Release Group Id>
MusicBrainz Work Id                     https://musicbrainz.org/work/<MusicBrainz Work Id>


*)
This one is problematic, I couldn't get a direct link working, so this one opens the search page. There you could paste the Track Id. (e.g. copied from the tag editor)
If somebody knows a solution to create a direct link for it, please let me know.

*) edit:
A direct link to the track details seems not possible, but a rather quick alternative to get to the track details is by using the Recording Id shortcut, and then click on any of the numbers in the '#' column on the far left. That will bring the track and all it's details directly in focus.
(and will save you one weblink slot in MusicBee's details panel)

—  —  —

Update:
 
I posted a revised and updated version of this post in Tips & Tricks:
https://getmusicbee.com/forum/index.php?topic=36210.msg198290#msg198290
 
Last Edit: February 20, 2022, 07:08:23 PM by hiccup

psychoadept

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 10721
That's great! It should probably be its own guide page.

The thing about Track ID is that it's only meaningful in the context of a release. You can't get a link because there's no such thing as a track page. Recording ID will get you the individual recording and Release ID will get you the release.  Track just refers to the details of that recording on the release (specific variations in artist credit, title, etc). You'll notice that track is also not on the list of things you can search for.
MusicBee Wiki
Use & improve MusicBee's documentation!

Latest patches (3.5/3.6)
(Unzip and overwrite existing program files)

hiccup

  • Hero Member
  • *****
  • Posts: 8036
That's great! It should probably be its own guide page.

Thanks, if you'd like it on the wiki feel free to copy/edit/prune/use it just as you please.

hiccup

  • Hero Member
  • *****
  • Posts: 8036
The thing about Track ID is that it's only meaningful in the context of a release.

That's true, but what I like about Track Id is that if you use it as a search (paste the code into the 'MBID:' search field) it brings you directly to the track with an overview of all recording details of that track.
If you use the 'Recording Id' shortcut, you will first land at a page showing all releases containing that recording, and after you clicked one, you'll have to navigate to find the track in that release. That's two extra steps I could do without ;-)

Do you perhaps know a way to achieve this?


edit:
I learned that you can reach the track details with using just one extra click.
Use the Recording Id shortcut, and then click any number under the '#' column on the left.
That will bring you to the track, highlighted and all, no scrolling necessary.
Last Edit: August 12, 2018, 03:59:25 PM by hiccup

Forcen

  • Newbie
  • *
  • Posts: 12
New Picard is out, lots of fixes and stuff.  https://picard.musicbrainz.org/changelog/

I recently learned that I can sort/filter my library by composers which is real handy with picard tags, I can't get musicbee to read the tag for WORK in most cases, some of my files can do it but most of them can't. Musicbee can find and sort by workID without problems but not the actual name of the works..

Looks like it can find the work tags if the files are .m4a but not mp3, it can see them in the tag inspector though as TXXX/Work but if i enter that into the new custom tag thing for id3 it just will save it as "Work"




Anyone got this to work?

hiccup

  • Hero Member
  • *****
  • Posts: 8036
Anyone got this to work?

Could it be you are using a very old MusicBee version?
Nowadays it has 'Work' available by default and you shouldn't (need to) create a custom tag for it.
(and it reads TXXX/Work)

Forcen

  • Newbie
  • *
  • Posts: 12
I have 3.2.6827, looks like I was one version behind. Updating didn't change anything but thanks for reminding me.

Wait, you can see the work tag and use it beyond the tag inspector? Where does it show up? Can you sort and group by the work names?


This is is what I got, I want to see work there basically. it shows up via custom tags but only for m4a files.

hiccup

  • Hero Member
  • *****
  • Posts: 8036
Wait, you can see the work tag and use it beyond the tag inspector? Where does it show up? Can you sort and group by the work names?

I do see it at track details:



It might be unavailable at other locations though.
But the fact that you have an additional custom tag for it while it is an existing tag already is a bit weird. (and shouldn't even be possible to do for as far I know)

P.S.
It should show in the tag editor also:

Last Edit: January 18, 2019, 10:54:52 PM by hiccup

Forcen

  • Newbie
  • *
  • Posts: 12
Oh man, I just found that tiny ^ thing next to the Track Title thing... never ever figured that was clickable... :-[
Why can't that be shown all the time or at least show it on the other tab instead? Or how can we make it stay open? It's a bit confusing..

Ok, so my situation is reversed. I can see the TXXX/Work tag if I click that thing but it won't read the work tag for m4a files unless you make the custom tag I made. I dont have many of those so that's not that problematic but still worth pointing out.

The real issue still stands, I can't get the "thumbnail browser" or the "left main panel" thing to sort my music by works unless they are m4a files as shown in the last image I posted. Or maybe I can but I have to use virtual tags? Maybe I can combine the two work tags to one virtual tag?

Thanks for the help so far by the way! :)