ARTIST-Tag nach MB Picard nicht teilbar

Ich tagge viele meiner Alben mit Picard. Damit die Struktur der Multi-Interpreten aus Musicbrainz erhalten bleibt, belasse ich diese wie sie übertragen werden.

Scheinbare Struktur nach Übertragung: artist[0]join[0]artist[1]join[1]artist[2]join[2]artist[…]

Bsp.: The Bug vs. The Rootsman feat. He Man
Das kann allerdings beliebig kompliziert werden

Gibt es ein RegExp oder ein Scripting, das nahezu zuverlässig des String aufteilt.

Hinzukommt noch, das in manchen Fällen, der String ' feat. ', ' vs. ' bzw. jeder andere nicht mittels der Aktion Ersetzen getauscht werden kann. Scheinbar wird ein nicht sichtbares Zeichen eingefügt, das die Funktion nicht identifizieren kann.

Hat jemand etwas ähnliches beobachtet.

Datei bzw. Aktion kann bereitgestellt werden.

bkh

ehrlich gesagt, ich verstehe nicht so wirklich, was du willst.
Vielleicht kommen wir über einen passenden oder dann nicht passenden Ratschlag dichter an das Problem:
Es gibt eine Aktion vom Typ "Tag-Felder aufteilen", wo man einen Trenner definieren kann. Dann entstehen Multi-value-Felder. Ist es das, was du willst?

Stimmt ist etwas verwirrend beschrieben.

Ich verwende die Aktion vom Typ "Tag-Felder aufteilen"
nach der Aktion vom Typ "Tag-Felder formatieren"
1.
Feld: ARTIST
Formatstring: "$replace(%artist%,' feat. ',\,' Feat. ',\,' featuring ',\,' Featuring ',\)"

Feld: ARTIST
Trennzeichen: \

Dabei wird ' feat. ' nicht umformatiert, wenn der String aus MB Picard stammt.

Im Feld ARTISTSORT funktioniert es jedoch. Das ist aber sicher kein mp3Tag-Prob, ich würde 'lediglich' (grins) das irgendwie abfangen.

Richtig Klasse wäre es, wenn die oben beschriebene Struktur in ARTIST und JOIN in einzelnen (Multi-)Feldern abgelegt werden könnte.

THX bkh

Erscheint mir, ehrlich gesagt, nicht plausibel.
Du kannst den Ausdruck testen in Konverter>Tag-Tag. Vielleicht findest du dort den Unterschied.
wenn du statt des \ zwei \\ verwendest, müsste eigentlich gleich die Feldtrennung stattfinden.

MusicBrainz nennt den Trenner zwischen den Künstlern "Join Phrase". Die kann ein beliebiger Text (oder auch nur ein Leerschlag) sein.

Beispiel:

Das dürfte einigemassen tricky werden, die einzelnen Künstler sauber zu trennen:

Ganz genau, darin stecke ich erstmal fest.
Habe derzeit Aktionen mit vs., with, duet with, feat. usw. die können aber nur jeweils 2 Interpreten und auch nur mit der Einschränkung, das sie nicht von Picard stammen dürfen.

Versuche mal das Picard-Prob mittels RegEx einzugrenzen. Mal sehen.

Aber vielen Dank erstmal

bkh

In Picard selbst gibt es auch das Tag %artists%, das bereits alle Künstler als separate Werte ohne "Join Phrases" enthält.

Vielleicht hilft dir das, entweder in Picard oder in MP3Tag. Auch dort solltest Du Zugriff auf dieses Tag haben.

Ich verstehe aus dem Text oben noch nicht genau, was du mit den Werten machen willst. Willst Du ARTIST als einzelnen Wert lassen, aber die Join Phrases entfernen? Oder willst Du es zu einem Feld mit mehreren Werten umwandeln (was auch geht, aber von vielen Playern nicht unterstützt wird)? Beides sollte aber mit dem %artists% aus Picard möglich sein.

Ich möchte die Interpreten (und die join prases) jeweils als einzelne Werte abgelegt haben. Der Sinn dahinter liegt in einer ausufernden Artist-Liste in den Playern.

Vielen Dank für den Tipp, werde ich mal checken.

bkh

@phw hat Recht!

Der korrekte Inhalt von ARTISTS aus Picard sieht für Track #4 so aus (und wird nun neu auch in meinen mp3 richtig gespeichert)

Die beteiligten Künstler werden in ARTISTS (nicht in wie im Titel von @bkh geschrieben ARTIST) mit Strichpunkt getrennt aufgeführt, ohne Join Phrase.

Erster kleiner Teilerfolg:
Das Nicht-Teilen mittels Aktion "Ersetzen" konnte ich durch "Ersetzen mit regulärem Ausdruck" umgehen.

Mal sehen, ob ich jetzt noch die vielen verschiedenen JOIN-Phrases (and, vs., pres, feat. , & , ...) mit einem RegEx-Ausdruck gebacken bekomme.

Danke für eure Bemühungen

bkh

1 Like