Taggerscript: Compatible MP3 tags

By default, Picard writes MP3 tags that don’t have great compatibility with a mixed format library (e.g., mix of MP3 files and FLAC files), or play nicely with foobar2000. This script moves Picard fields so that they look the same as FLAC files in foobar2000.

$if($eq($upper(%_extension%),MP3),

$noop(Move UFID:http://musicbrainz.org to TXXX)
$set(MUSICBRAINZ_TRACKID,%musicbrainz_recordingid%)
$unset(musicbrainz_recordingid)

$noop(foobar2000 can't read INVOLVED PEOPLE / TIPL v2.4 / IPLS v2.3)
$set(ARRANGER,%arranger%)
$unset(arranger)
$set(DJMIXER,%djmixer%)
$unset(djmixer)
$setmulti(ENGINEER,%engineer%)
$unset(engineer)
$setmulti(MIXER,%mixer%)
$unset(mixer)
$set(PRODUCER,%producer%)
$unset(producer)

$set(MEDIA,%media%)
$unset(media)

$noop(Use TXXX rather than PUBLISHER)
$set(LABEL,%label%)
$unset(label)

$noop(Move single-value <MUSICBRAINZ ALBUM ID> to MUSICBRAINZ_ALBUMID)
$set(MUSICBRAINZ_ALBUMID,%musicbrainz_albumid%)
$unset(musicbrainz_albumid)

$noop(Move single-value <MUSICBRAINZ RELEASE GROUP ID> to MUSICBRAINZ_RELEASEGROUPID)
$set(MUSICBRAINZ_RELEASEGROUPID,%musicbrainz_releasegroupid%)
$unset(musicbrainz_releasegroupid)

$noop(Move <MUSICBRAINZ ALBUM ARTIST ID> to MUSICBRAINZ_ALBUMARTISTID)
$setmulti(MUSICBRAINZ_ALBUMARTISTID,%musicbrainz_albumartistid%)
$unset(musicbrainz_albumartistid)

$noop(Move <MUSICBRAINZ ARTIST ID> to MUSICBRAINZ_ARTISTID)
$setmulti(MUSICBRAINZ_ARTISTID,%musicbrainz_artistid%)
$unset(musicbrainz_artistid)

$noop(Move <MUSICBRAINZ WORK ID> to MUSICBRAINZ_WORKID)
$setmulti(MUSICBRAINZ_WORKID,%musicbrainz_workid%)
$unset(musicbrainz_workid)

$noop(Move <MUSICBRAINZ ALBUM TYPE> to RELEASETYPE)
$setmulti(RELEASETYPE,%releasetype%)
$unset(releasetype)

$noop(Move <MUSICBRAINZ ALBUM RELEASE COUNTRY> to RELEASECOUNTRY)
$set(RELEASECOUNTRY,%releasecountry%)
$unset(releasecountry)

$set(ORIGINALDATE,%originaldate%)
$unset(originaldate)

)
9 Likes

I thought a lot about tag management while using foobar2000 and mp3tag in the past, and eventually decided on a certain choice.
But recently, I took out Picard to try out functions that only Picard can perform, and it made me fall into deep trouble again.

Thank you for your script as it solved some of my concerns.

I also ran into this exact issue recently, thanks for the script.

1 Like