[MusicBee] [ver. 2 available!] taggerscript for standardizing artists and setting display artist

after a bit of testing (and a big help from @rdswift, thank you~), I bring you version 2 of my MusicBee artist handler~

edit: updated to version 2.1, adding support for ‘/w’ as a join phrase

$noop(=======================================================================

MusicBee artist handler
[version 2.1]
written by rdswift and heavily modified by UltimateRiff

This script splits the track artists into main artists and guest artists
based on whether the artist appears before or after a join phrase containing
'feat', 'ft', 'with', '/w', or 'prod'.  It creates the following new tags based
on the artist names as standardized

  display artist: a built-in MusicBee tag, set as the original artist tag
    given {could have been modified by other Picard scripts or plugins}
  guest artist: another MusicBee tag which denotes secondary {or 'Guest'
    artists

it also modifies the %artist% tag to be a standardized multi-value tag, as
Musicbee will expect it to be

=============================================================================)
$set(display artist,%_artists_track_all_cred%)
$noop( change the above to %_artists_track_all_std% if you want the standardized names in display artist )

$noop( everything below was made with much help from @rdswift on the forums, thank you again for your help~ )
$set(_idx,)
$noop( you can add more join phrases by adding ',$in(%_test_phrase%,[desired phrase here])' before the '$set(_idx,)' argument )
$foreach(%_artists_track_all_join_phrases%,$set(_test_phrase,$lower(%_loop_value%))$if($or($in(%_test_phrase%,feat),$in(%_test_phrase%,ft),$in(%_test_phrase%,with),$in(%_test_phrase%,w/),$in(%_test_phrase%,prod)),$set(_idx,$if2(%_idx%,%_loop_count%))))
$if(%_idx%,
  $noop( "feat" found in join phrases )
  $noop( Set main and guest artists multi-values )
    $setmulti(artist,$slice(%_artists_track_all_std_multi%,0,%_idx%))
    $setmulti(guest artist,$slice(%_artists_track_all_std_multi%,%_idx%)),
  $setmulti(artist,%_artists_track_all_std_multi%)
)

this version can handle splitting out featured artists with join phrases including ‘feat’, ‘featuring’, ‘ft’, ‘with’, and ‘prod’. these will be added to the Guest Artist tag, which MusicBee will recognize, and the artists before the above join phrases will be added to Artist as usual~

again, let me know if y’all have any issues with the script~ brb, about to retag my whole library again~

edit: this script appears to be compatible with the Feat. Artist in Titles plugin from my very limited testing, but I don’t typically use this plugin, so let me know if y’all have any issues with it~

4 Likes