Can you force Picard writing a tag to flac only?

Because of how my music player handles tags, for ‘original album’ I need Picard to write ‘TOAL’ for mp3’s, and ‘ORIGALBUM’ for flac’s.

When for example I use:
$set(origalbum,%album%), that will work nicely for my flac files.

But my mp3 files then get a TXXX/ORIGALBUM, which is not recognized.
I found out that I can force the correct TOAL tag for my mp3’s by using:
$set(_id3:TOAL,%album%)

But if I use both these lines in a script, my mp3 files get both a TOAL and a TXXX/ORIGALBUM tag.
That’s not the end of the world, but I would prefer to avoid that.

Is there a way to specify that Picard will only write this ORIGALBUM to flac files?

(I tried something like $set(_vorbis:ORIGALBUM,%album%), but that doesn’t work)

Does $if($eq(_extension,flac),$set(origalbum,%album%)) work? (I may not have it exactly right, not able to test at the moment.)

No, it doesn’t. Something like that perhaps only works for file naming functions?

This doesn’t work because $if is just a function that gets passed the results of the functions in the arguments. Hence the above $set is called anyway before $if. For that to work the tagger script language would need to be a proper programming language with conditional expressions.

The closest I can currently think of is that you set origalbum to empty for MP3.

But one question: Is there a specific reason why you use “origalbum” for FLAC or would you be free to use something else? I ask because Picard actually knows the “originalalbum” tag that is mapped to TOAL for ID3. But there is no mapping defined for Vorbis/FLAC tags, so it will just end up as “originalalbum” there.

So either you can also use this instead of origalbum. Or if you use software that relies on origalbum we should probably map it accordingly in Picard.

1 Like

I am using MusicBee, and that by default uses vorbis tags such as ORIGALBUM, ORIGARTIST, ORIGYEAR etc. for this.
That probably originated from it being compatible with MP3tag, that does the same.

But of course there is no agreed standard on this, so it’s probably impossible to make everybody happy.

And it’s not very difficult to make some changes in a MusicBee configuration file for that, but it’s just that I am hoping to get everything working ‘out-of-the-box’ as much as possible with as less as possible scripts, formulas, changing of .ini and config files etc.

And I also asked because this is all some learning process for me.
Since documentation about these functions is quite sparse, I was curious after I found out about “$set(_id3:” if there was perhaps the same functionality for vorbis/flac.
Probably not :wink:
.

That would be a good solution and I had tried something like that, but couldn’t get it working.
I tried these three syntaxes:
$set(_id3:TXXX/ORIGALBUM,)
$set(_id3:TXXX:ORIGALBUM,)
$set(_id3:ORIGALBUM,)
Am I doing something wrong here?

Reading this back, do you think that this could be regarded as an omission in Picard?
All other basic and advanced tags seem to have a mapping for vorbis, and for as far as I can see only ‘Original Artist’ and ‘Original Album’ don’t.

If these two could get mapped too, that would be great, and then hopefully to: ORIGARTIST and: ORIGALBUM, so that they are compatible with MusicBee and MP3tag.

Basically yes. The process for adding new tags in Picard usually involves some research if there is some spec how to save this specific information to a tagging format and how those tags are used in common tools. Then the internal tag name gets mapped to the according tag of the specific format.

Take a look a Appendix B: Tag Mapping — MusicBrainz Picard v2.11.0rc1 documentation and you will find quite a few missing mappings. Reasons are either that nobody looked into this yet or there was just no other implementation found. Note that this does not mean the tags are not saved at all. Picard will just use the standard mechanism to store unknown tags to this format.

I think MP3tag and MusicBee are good reasons to set this mapping. MusicBee was even the reason cited when support for TOAL and TOPE tags was added. Do you know of any other tool supporting these tags?

@ijabz What do you think? AFAIK your tools use “ORIGINAL ALBUM” and “ORIGINAL ARTIST”, is this still true?

2 Likes

I added https://tickets.metabrainz.org/browse/PICARD-1314 to track this.

2 Likes

Tag&Rename uses both, for TOPE it also writes ORIGARTIST, but for TOAL it writes ‘SHOW’.

Do I get this right, it store original album in a Vorbis tag called “SHOW”? I wonder where this came from, but I think we can happily ignore this.

Appart from this have a look at the ticket I created. There was some discussion on the MediaMonkey forum, obviously there is some naming conflict between “ORIGARTIST”, "“ORIGINALARTIST” and “ORIGINAL ARTIST” in various tools.

Yes, it was originally took from Media Monkey.
You can see full list at Bitbucket

This library is used by a large number of tools not just my own.

That’s an interesting list. You’ve assembled it yourself?
I do notice that the use of underscores seems a bit inconsistent, and is kind of an ‘exception to the rule’.
(not that there actually are any rules for this of course)

E.g.:

ALBUMARTIST
ALBUMARTISTSORT
ARRANGER_SORT
ARTIST
ARTISTSORT
ARTISTS
ARTISTS_SORT
COMPOSER
COMPOSERSORT
CONDUCTOR
CONDUCTOR_SORT

In Tag&Rename they use it for an entry called ‘Show title’.
I am not aware of other software making use of it in that way.

So where Picard had an existing mapping we also tried to use the same mapping (i.e COMPOSERSORT). But with more recent additions that arent supported in Picard the key thing was to use a consisistent value over different tagging formats because the practise of having different values for different formats tends to breaking existing metadata if then convert the file using a tool such as dbPoweramp.

i.e
See Picard mapping for MusicBrainz AlbumType

TXXX:MusicBrainz Album Type
MUSICBRAINZ_ALBUMTYPE

different value used for ID3/Vorbis so if converted mp3 to oggVorbis using dbPoweramp it will create vorbis comment called ‘MusicBrainz Album Type’ rather than ‘MUSICBRAINZ_ALBUMTYPE’

So fields such as ARTIST, ARTISTS_SORT and CONDUCTOR_SORT use new method,
as part of this new method I seperate different words with underscore, in my view this is better than joinging words or separating by space.

(Almost) up to date mapping between Picard/Jaikoz can be seen here

3 Likes

Interesting, this is what dBpoweramp makes of it:

Just in case it is useful or interesting to anybody; here is a sheet I have been maintaining.
It’s main purpose is to get a good overview of MusicBee’s tagging options, and being helpful in making the most of Picard’s features for it.

1 Like