Danke für Deine Bemühungen @ohrenkino.
Ich versuche es aktuell mit diesem regulären Ausdruck:
$repl($regexp($meta(SOLOIST),'(\b[A-Za-zÀ-ž]+\b),? ?-? ?(?=.*\1)',),', ',\\)
Erklärung:
$meta(SOLOIST)
- Damit werden alle Inhalte aus allen SOLOIST Tags mit einem Komma Leerschlag getrennt aneinander gereiht
$regexp(Aneinanderreihung,'(\b[A-Za-zÀ-ž]+\b),? ?-? ?(?=.*\1)',)
- Damit werden Worte gesucht die aus GROSS- oder kleinbuchstaben oder aus Umlauten bestehen, welche von einem Komma und/oder Leerschlag und/oder Bindestrich getrennt werden. Das Resultat daraus wird mit einem "Positive Lookahead" weiter hinten in der Zeichenfolge gesucht um festzustellen, ob eben diese Worte später nochmal vorkommen. Wenn ja, wird es durch nichts ersetzt, also entfernt.
$repl(Übrigbleibende Kommas und Leerschläge)', ',\\)
Die Kommas und Leerschläge die zusammen mit den Worten übrigbleiben, werden zum Abschluss mit zwei Backslashes \\
ersetzt, was in Mp3tag zu neuen Multi-Value-Feldern führt.
Tests laufen um festzustellen, was mit Kommas in Namen geschehen würde, bzw. mit exotischen Namen wie Пётр Ильич Чайковский (Pyotr Ilyich Tchaikovsky)
Update #1:
Der liebe Pyotr sprengt den Regex mit seinen kyrillischen Buchstaben natürlich wieder mal 
Man müsste für Kyrillisch [A-Za-zÀ-žа-яА-Я]
als Buchstabenset verwenden. Bisher fand ich noch keine Möglichkeit die sonst übliche Schreibweise [\p{L}]
zu verwenden (jeder Buchstabe in jeder Sprache, ausser eben den Sonderzeichen)
Update #2:
Am erfolgreichsten funktioniert bisher
$repl($regexp($meta(SOLOIST),'(\b\w+\b),? ?-? ?(?=.*\1)',),', ',\\)
anscheinend umfasst \w
in Mp3tag wesentlich mehr Sprachen und Buchstaben als in anderen RegEx-Dialekten wo es für [a-zA-Z0-9_]
steht.
Update #3:
Eine noch kürzere Variante ist:
$regexp($meta_sep(SOLOIST,\\),'(\b\w+\b),? ?-? ?(?=.*\1)',)