Autor Thema: Redundanzen in Tags (Titelbezeichnungen) entfernen  (Gelesen 3668 mal)

AldiMp3

  • Gelegenheitsposter
  • *
  • Beiträge: 28
Redundanzen in Tags (Titelbezeichnungen) entfernen
« am: 08. Oktober 2011, 19:10:08 »
Gibt es eine Funktion, ein Tool oder einen Trick, um alle Texte (Titel) zu finden/löschen, die bestimmte Bedingungen erfüllen?

Ich habe viele Tracks mit Bezeichnungen wie

Titel xyz (Album Version) [Album Version]
Titel xyz [Album Version] [Album Version]
Titel xyz (Album Version) (Album Version)
Titel xyz (Album Version) [Album Version]
Titel xyz (Album LP Version) [Album LP Version]
...

Also zusätzliche Hinweise, die doppelt in unterschiedlichen Klammern/Reihenfolgen angebracht sind, wobei der Text in den Klammern unterschiedlich lang und inhaltsschwer sein kann. Gern würde ich mit hohem Automatisierungsgrad Redundanzen entfernen.

Wer kann mir helfen? Teile davon zu finden traue ich mir zu. Jeweils gleiche Klammerausdrucke könnte ich auch mit OpenOffice teilen und in unterschiedliche Spalten legen bzw. nach Foobar spaltenweise zurück kopieren. Aber sicher kennt hier jemand bessere Wege.

Danke und Gruß
Uwe

stefle

  • Akkordschreiber
  • *
  • Beiträge: 372
Re:Redundanzen in Tags (Titelbezeichnungen) entfernen
« Antwort #1 am: 08. Oktober 2011, 22:59:49 »
Versuch mal über 'Format from other fields...':

$substr(%title%,1,$add($strstr(%title%,') ['),$strstr(%title%,'] ['),$strstr(%title%,') ('),$strstr(%title%,'] (')))

Hier wird einfach nach einem Zusammentreffen von schließender und öffnender Klammer gesucht - also nach allen Kombinationen der Art ") (" - und das Feld entsprechend gekürzt.

Hier das gleiche, allerdings werden zusätzlich alle eckigen gegen runde Klammern ersetzt:

$puts(A,$replace(%title%,'[','(',']',')'))$substr($get(A),1,$strstr($get(A),') ('))

Beide Lösungen können aber auch Schaden anrichten, wenn du z.B. sowas hast:
The Beatles - You Know My Name (Look Up The Number) (Album Version)

Um das zu vermeiden, könntest du im Code

') ('

gegen

') (Album'

etc. ersetzen. (Ich hoffe, das ist jetzt verständlich.)

----
EDIT 1 Code gekürzt
EDIT 2 nochmal gekürzt
« Letzte Änderung: 09. Oktober 2011, 06:40:00 von stefle »

qwert73

  • Rundumdieuhrposter
  • *
  • Beiträge: 725
Re:Redundanzen in Tags (Titelbezeichnungen) entfernen
« Antwort #2 am: 08. Oktober 2011, 23:46:45 »
Der "Automatically fill values ..." Dialog:

Als Quelle: %title% nehmen und als Pattern: %title% (%%) [%%]

Irgendwie einfacher, oder?

stefle

  • Akkordschreiber
  • *
  • Beiträge: 372
Re:Redundanzen in Tags (Titelbezeichnungen) entfernen
« Antwort #3 am: 09. Oktober 2011, 06:00:15 »
@qwert73

Deine Lösung führt zu einem anderem Ergebnis: Der eingeklammerte Zusatz (Album Version) wird ganz entfernt. Außerdem funktioniert's nicht, wenn die erste Klammerung eckig ist.

stefle

  • Akkordschreiber
  • *
  • Beiträge: 372
Re:Redundanzen in Tags (Titelbezeichnungen) entfernen
« Antwort #4 am: 09. Oktober 2011, 06:19:44 »
Vielleicht eine Alternative:

$puts(A,$replace(%title%,'[','(',']',')'))$substr($get(A),1,$sub($strrchr($get(A),'('),2))

Zunächst werden alle Klammern in runde gewandelt, dann die letzte Klammerung abgeschnitten.

Hat aber den Nachteil, dass es auch einzelne Klammerungen rauswirft. Man müsste also vorher nach mehrfachen Klammerungen filtern: z.B. eine Playlist Column anlegen mit:
$add($strstr(%title%,') ['),$strstr(%title%,'] ['),$strstr(%title%,') ('),$strstr(%title%,'] ('))
und damit die Playlist sortieren.

Das würde jedenfalls keinen Mist bauen bei drei Klammern:
You Know My Name (Look Up The Number) (Album Version) [Album Version]

Meine Vorschläge weiter oben würden den Titel abschneiden beim ersten Auftreten von ") (".

Lässt sich dort aber auch anders verhindern, nämlich durch Ersetzen von

') ('

gegen

') (Album'

... was wiederum weniger flexibel wäre.
« Letzte Änderung: 09. Oktober 2011, 06:44:26 von stefle »

stefle

  • Akkordschreiber
  • *
  • Beiträge: 372
Re:Redundanzen in Tags (Titelbezeichnungen) entfernen
« Antwort #5 am: 09. Oktober 2011, 07:32:14 »
Rundum-sorglos-Paket:

$puts(A,$replace(%title%,'[','(',']',')'))$ifgreater($strrchr($get(A),'('),$strstr($get(A),$substr($get(A),$strrchr($get(A),'('),$len($get(A)))),$substr($get(A),1,$sub($strrchr($get(A),'('),2)),%title%)

macht:

Titel xyz (Album Version)
Titel xyz (Album Version)
Titel xyz (Album Version)
Titel xyz (Album Version)
Titel xyz (Album Version)
Titel xyz (Live)
Titel xyz (χψω) (Maxi Version)
Titel xyz (χψω) (maxi version)

aus:

Titel xyz (Album Version)
Titel xyz (Album Version) (Album Version)
Titel xyz (Album Version) [Album Version]
Titel xyz [Album Version] [Album Version]
Titel xyz [Album Version] (Album Version)
Titel xyz (Live) [Live]
Titel xyz (χψω) (Maxi Version) (Maxi Version)
Titel xyz (χψω) (maxi version) [maxi version]

Funzt nicht bei: Titel xyz (Album Version) (album version)


EDIT Code korrigiert
« Letzte Änderung: 09. Oktober 2011, 08:53:28 von stefle »

qwert73

  • Rundumdieuhrposter
  • *
  • Beiträge: 725
Re:Redundanzen in Tags (Titelbezeichnungen) entfernen
« Antwort #6 am: 09. Oktober 2011, 15:11:59 »
@ stefle

Ach so, jetzt weiß ich was genau erwünscht ist! Macht aber nichts: ich würde es weiterhin genauso machen, dann ein zweites mal das "Automatically fill values ..." Fenster öffnen, um auch die übriggebliebenen  Zusätze zu entfernen, und dann letztendlich ein drittes mal , um mit %title% (album version) den vorher weggekürzten Anhang wieder dranzupappen. Die jeweiligen Änderungen müssen nicht in die Tags geschrieben werden, um beim erneuten Öffnen des "Automatically fill values ..." Fensters übernommen zu werden - ein Feature, das vielen nicht bekannt ist oder einfach nur nicht genutzt wird.

Ich mache mir gar nicht erst die Mühe, hochkomplexe Snippets zu kreieren, die den Anspruch vergeblich versuchen umzusetzen, alle, aber auch alle Eventualitäten zu berücksichtigen. Bei sowas werde ich einfach nur verückt und bevorzuge die einfache Methode. Und wenn dann noch ein paar Stücke bleiben, die händisch umgetaggt werden sollen (auch das geht im "Automatically fill values ..." Dialog!!), dann ist das so! So kann ich mir 100% sicher sein, nichts zu zerschießen, und komm genau so schnell, wenn nicht schneller zum Ziel.
« Letzte Änderung: 09. Oktober 2011, 15:14:28 von qwert73 »

AldiMp3

  • Gelegenheitsposter
  • *
  • Beiträge: 28
Re:Redundanzen in Tags (Titelbezeichnungen) entfernen
« Antwort #7 am: 09. Oktober 2011, 18:03:18 »
Erstmal Dank an Euch beide. Werde mal probieren, was ich davon umsetzen kann. Denke aber das solche willkürlich herausgezogenen Datensätze weiter Probleme in der Automatik machen:

Is This Time Goodbye (I Gotta Move On) ((Original Mix)) [feat. Trey Lorenz] [(Original Mix)]
Senora ((Kuduro Remix) (Feat. Yakarta)) [(Kuduro Remix) (Feat. Yakarta)]
I'm In The House (Sharam Love Fest Remix) [feat. [[[ZUPER BLAHQ]]]] [Sharam Love Fest Remix]
Senora (Feat. Yakarta) ((Cubaton Kuduro Remix)) [El Chacal] [(Cubaton Kuduro Remix)]

...die Redundanzen sind schon sehr unterschiedlich angebracht ;-)

Als wirklich hilfreich erkenne ich zur Zeit nur eine Lösung, die nicht darauf abstellt, welche Klammer wo und wie häufig angeordnet sind, sondern nur noch darauf abzielt, zu erkennen, ob Ausdrücke innerhalb von Klammern textliche Wiederholungen haben.
« Letzte Änderung: 09. Oktober 2011, 19:21:31 von AldiMp3 »

stefle

  • Akkordschreiber
  • *
  • Beiträge: 372
Re:Redundanzen in Tags (Titelbezeichnungen) entfernen
« Antwort #8 am: 09. Oktober 2011, 19:58:49 »
Hier kannst du sehen, was mein Rundumn-sorglos-Paket aus deinen Beispielen macht:

Is This Time Goodbye (I Gotta Move On) ((Original Mix)) [feat. Trey Lorenz] [(Original Mix)]
Is This Time Goodbye (I Gotta Move On) ((Original Mix)) (feat. Trey Lorenz)

Senora ((Kuduro Remix) (Feat. Yakarta)) [(Kuduro Remix) (Feat. Yakarta)]
Senora ((Kuduro Remix) (Feat. Yakarta)) ((Kuduro Remix)

I'm In The House (Sharam Love Fest Remix) [feat. [[[ZUPER BLAHQ]]]] [Sharam Love Fest Remix]
I'm In The House (Sharam Love Fest Remix) (feat. (((ZUPER BLAHQ))))

Senora (Feat. Yakarta) ((Cubaton Kuduro Remix)) [El Chacal] [(Cubaton Kuduro Remix)]
Senora (Feat. Yakarta) ((Cubaton Kuduro Remix)) (El Chacal)


Das zweite Beispiel ist ***, bessert sich aber, wenn man "meinen Algorithmus" zweimal laufen lässt.


« Letzte Änderung: 10. Oktober 2011, 16:32:30 von fooamp »

stefle

  • Akkordschreiber
  • *
  • Beiträge: 372
Re:Redundanzen in Tags (Titelbezeichnungen) entfernen
« Antwort #9 am: 09. Oktober 2011, 20:03:28 »
P.S.: Ich nehme mal an, du weißt, wie man die verbleibenden Doppelklammern wegbekommt.

(((ZUPER BLAHQ))) solltest du vorher durch [[[ZUPER BLAHQ]]]] ersetzen.
« Letzte Änderung: 09. Oktober 2011, 20:26:48 von stefle »

qwert73

  • Rundumdieuhrposter
  • *
  • Beiträge: 725
Re:Redundanzen in Tags (Titelbezeichnungen) entfernen
« Antwort #10 am: 09. Oktober 2011, 21:31:36 »
Auf die Gefahr hin, dass der nächste Vorschlag als unpassend empfunden wird:

Brutal alle Tags löschen und mit Discogs neue Metadaten runterladen - Discogs deswegen, weil gerade die obige Art von Musik exzellent gut abgedeckt ist.

By the way: wer um Himmels willen, schreibt denn so was alles in den Titel-Tag?

AldiMp3

  • Gelegenheitsposter
  • *
  • Beiträge: 28
Re:Redundanzen in Tags (Titelbezeichnungen) entfernen
« Antwort #11 am: 10. Oktober 2011, 17:52:18 »
@stefle,

danke ich habe es mit Deiner Hilfe wirklich toll automatisiert.

@qwert73,

ich habe viele Alben, wo die Filterbedingung %Title% HAS  "[" AND %Title% HAS  "(" gelten. Da wäre Discogs wohl eher ein Wochen-/Monatsprogramm. Natürlich habe ich mir diesen "Beispiel-Müll" zur Demonstration selbst in die Tags geschrieben, aber man findet auch bei den gängigen Portalen viele ähnliche Beispiele und eben auch Redundanzen.