IPB

Welcome Guest ( Log In | Register )

> Hinweise!

Bitte vor dem erstellen eines Beitrag unbedingt die Häufig gestellten Fragen lesen und die Suche verwenden.

Bitte lesen Sie auch die allgemeinen Nutzungsbestimmungen dieses Forums.

2 Pages V   1 2 >  
Reply to this topicStart new topic
> Einen Tag auf mehrere andere Tags verteilen
lupus_3
post Apr 28 2017, 14:39
Post #1


Member


Group: Full Members
Posts: 8
Joined: 28-April 17
Member No.: 23359
Mp3tag Version: 2.81



Ich gebe ein Beispiel:
Der Titel-Tag lautet: "Ludwig van Beethoven Symphonie Nr. 3 Es-Dur op. 55 Berliener Philharmoniker 3. Marcia funebre (Adagio assai)".
Hieraus soll werden:

KOMPONIST: "Ludwig van Beethoven", also die ersten drei durch Leerzeichen getrennten Wörter;
WERK (=CONTENTGROUP): "Symphonie Nr. 3 Es-Dur op. 55", also die nächsten sechs durch Leerzeichen getrennten Wörter;
Orchester (=ORCHESTRA): "Berliener Philharmoniker", also die nächsten beiden durch Leerzeichen getrennten Wörter;
schließlich soll als Titel bleiben: "Marcia funebre (Adagio assai)", also "3." weg, dann bleibt der Rest der Zeichenkette stehen.

Ich hoffe, dass das mit mp3tag geht. Aus der Bedienungsanleitung kann ich es nicht erkennen.

Kann mir jemand helfen?

Vielen Dank

lupus_3
Go to the top of the page
 
+Quote Post
ohrenkino
post Apr 28 2017, 14:59
Post #2


Member


Group: Full Members
Posts: 9013
Joined: 9-December 09
From: Norddeutschland / Northern Germany
Member No.: 11458
Mp3tag Version: 2.84a



ZITAT(lupus_3 @ Apr 28 2017, 15:39) *
... also die ersten drei durch Leerzeichen getrennten Wörter;... also die nächsten sechs durch Leerzeichen getrennten Wörter;... also die nächsten beiden durch Leerzeichen getrennten Wörter;
...

Wenn das ein durchgängiges Muster ist mag das gehen.
Aber da der Titel ja keinerlei erkennbare Trennzeichen hat, habe ich den Eindruck, dass es einfacher ist, eher sowas zu machen wie nach allen Titeln zu filtern, die Ludwig van Beethoven enthalten, das dann per Hand im Tag-Panel einzutragen und dann mit "Ersetzen" zu löschen.
Und so ähnlich geht es dann mit den nächsten Begriffen.

Oder du findest ein Muster, wie Trennzeichen oder trennende Wörter - dann kannst du eine Aktion "Tag-Feld importieren" verwenden.
Also wenn der Titel z.B. lauten würde:
Ludwig van Beethoven_Symphonie Nr. 3 Es-Dur op. 55_Berliener Philharmoniker_3. Marcia funebre (Adagio assai)
Dann würde der Import-String lauten:
%composer%_%contentgroup%_%artist%_%title%

Solche Aktionen lohnen aber eigentlich nur, wenn es wirklich viele Dateien mit so einem Muster gibt.
Das Abtentern einzelner Wörter ist fehleranfällig.


--------------------
42 - wie war die Frage / what was the question / quelle était la question
Go to the top of the page
 
+Quote Post
DetlevD
post Apr 28 2017, 15:50
Post #3


Member


Group: Full Members
Posts: 6637
Joined: 26-May 06
From: Wuppertal, Germany, Planet Earth
Member No.: 3194
Mp3tag Version: 2.84



QUOTE (lupus_3 @ Apr 28 2017, 15:39) *
... Der Titel-Tag lautet: "Ludwig van Beethoven Symphonie Nr. 3 Es-Dur op. 55 Berliener Philharmoniker 3. Marcia funebre (Adagio assai)".
Hieraus soll werden: KOMPONIST: ... WERK ... ORCHESTRA ... Titel ...

Weil die gegebene lange Zeichenkette eine eindeutige Struktur nicht aufweist, so wird es so ohne weiteres nicht möglich sein, die von Mp3tag angebotenen automatischen Werkzeuge zu benutzen.

In einem solchen Fall sollte man eine externe Datenquelle ausfindig machen und mit copy&paste die passenden Texte übertragen.

https://www.discogs.com/de/Ludwig-van-Beeth...release/6448628

DD.20170428.1650.CEST


--------------------
* Beyond that, don't ask, when you don't know what to do with the answer. *
♥ home is where the heart is ♥
Go to the top of the page
 
+Quote Post
lupus_3
post Apr 28 2017, 17:28
Post #4


Member


Group: Full Members
Posts: 8
Joined: 28-April 17
Member No.: 23359
Mp3tag Version: 2.81



Wenn man eine Möglichkeit hätte, ds n-te Leerzeichen einer Zeichenreihe zu finden, wäre man wohl einen entscheidenden Schritt weiter.
Go to the top of the page
 
+Quote Post
DetlevD
post Apr 28 2017, 18:07
Post #5


Member


Group: Full Members
Posts: 6637
Joined: 26-May 06
From: Wuppertal, Germany, Planet Earth
Member No.: 3194
Mp3tag Version: 2.84



QUOTE (lupus_3 @ Apr 28 2017, 18:28) *
Wenn man eine Möglichkeit hätte, ds n-te Leerzeichen einer Zeichenreihe zu finden, wäre man wohl einen entscheidenden Schritt weiter.

Das erste Leerzeichen von links:
$strchr(%TITLE%,' ') ... oder ... $strstr(%TITLE%,' ')

DD.20170428.1907.CEST


So kompliziert geht es auch:

TITLE <== 'Ludwig van Beethoven Symphonie Nr. 3 Es-Dur op. 55 Berliner Philharmoniker 3. Marcia funebre (Adagio assai)'

TEMP <== $regexp(%TITLE%,'^((?:.+?\s){3})((?:.+?\s){6})((?:.+?\s){2})((?:.+?\s){3}.*)$','$1=$2=$3=$4=')
TEMP <== $regexp(%TEMP%,'\s=','=')

TEMP ==> "Ludwig van Beethoven=Symphonie Nr. 3 Es-Dur op. 55=Berliner Philharmoniker=3. Marcia funebre (Adagio assai)="

KOMPONIST <== $regexp(%TEMP%,'^(?:(.+?)=){1}.*$','$1')
WERK      <== $regexp(%TEMP%,'^(?:(.+?)=){2}.*$','$1')
ORCHESTER <== $regexp(%TEMP%,'^(?:(.+?)=){3}.*$','$1')
TITEL     <== $regexp(%TEMP%,'^(?:(.+?)=){4}.*$','$1')
TEMP      <== $char(0) 


KOMPONIST ==> "Ludwig van Beethoven"
WERK      ==> "Symphonie Nr. 3 Es-Dur op. 55"
ORCHESTER ==> "Berliner Philharmoniker"
TITEL     ==> "3. Marcia funebre (Adagio assai)"


DD.20170428.2025.CEST

Beachten:
Wegen der Komplexität des regulären Ausdrucks mit den vielen Klammerausdrücken kann man an die Grenze der in Mp3tag benutzten RegExp-Maschine kommen, was zu einem nicht optimalen Ergebnis führen kann.

DD.20170430.1137.CEST

This post has been edited by DetlevD: Apr 30 2017, 10:37
Go to the top of the page
 
+Quote Post
lupus_3
post Apr 29 2017, 06:45
Post #6


Member


Group: Full Members
Posts: 8
Joined: 28-April 17
Member No.: 23359
Mp3tag Version: 2.81



Es scheint also doch zu gehen. Vielen Dank! Jetzt versuche ich, die Syntax zu verstehen.
Darf ich noch um Hinweise bitten, wie ich diese Formeln im Programm anwenden muss, dass sie zum Ziel führen? Ich bin ein Anfänger auf diesem Gebiet.
Go to the top of the page
 
+Quote Post
DetlevD
post Apr 29 2017, 09:27
Post #7


Member


Group: Full Members
Posts: 6637
Joined: 26-May 06
From: Wuppertal, Germany, Planet Earth
Member No.: 3194
Mp3tag Version: 2.84



QUOTE (lupus_3 @ Apr 28 2017, 15:39) *
Ich gebe ein Beispiel:
Der Titel-Tag lautet: "Ludwig van Beethoven Symphonie Nr. 3 Es-Dur op. 55 Berliener Philharmoniker 3. Marcia funebre (Adagio assai)".
Hieraus soll werden:
KOMPONIST: "Ludwig van Beethoven", also die ersten drei durch Leerzeichen getrennten Wörter;
WERK (=CONTENTGROUP): "Symphonie Nr. 3 Es-Dur op. 55", also die nächsten sechs durch Leerzeichen getrennten Wörter;
Orchester (=ORCHESTRA): "Berliener Philharmoniker", also die nächsten beiden durch Leerzeichen getrennten Wörter;
schließlich soll als Titel bleiben: "Marcia funebre (Adagio assai)", also "3." weg, dann bleibt der Rest der Zeichenkette stehen.
Ich hoffe, dass das mit mp3tag geht. Aus der Bedienungsanleitung kann ich es nicht erkennen.
Kann mir jemand helfen? Vielen Dank lupus_3

Bei dem Lösungsvorschlag in ...
https://forums.mp3tag.de/index.php?showtopi...ost&p=95977
... kann man wegen der Komplexität des regulären Ausdrucks mit den vielen Klammerausdrücken an eine Grenze in der RegExp-Maschine kommen, deshalb folgend ein anderer Vorschlag.

Man kann den langen Titel zunächst in temporäre Hilfsfelder aufteilen, dann werden die jeweiligen Textteile einzeln extrahiert.

TITLE_ORIG <== %TITLE%

TEMP_0 <== %TITLE%$char(32)
--> "Ludwig van Beethoven Symphonie Nr. 3 Es-Dur op. 55 Berliner Philharmoniker 3. Marcia funebre (Adagio assai) "

TEMP_1 <== $left(%TEMP_0%,$len($regexp(%TEMP_0%,'^((?:.+?\s){3}).*$','$1')))
--> "Ludwig van Beethoven "

TEMP_0 <== $cutLeft(%TEMP_0%,$len(%TEMP_1%))
--> "Symphonie Nr. 3 Es-Dur op. 55 Berliner Philharmoniker 3. Marcia funebre (Adagio assai) "

TEMP_2 <== $left(%TEMP_0%,$len($regexp(%TEMP_0%,'^((?:.+?\s){6}).*$','$1')))
--> "Symphonie Nr. 3 Es-Dur op. 55 "

TEMP_0 <== $cutLeft(%TEMP_0%,$len(%TEMP_2%))
--> "Berliner Philharmoniker 3. Marcia funebre (Adagio assai) "

TEMP_3 <== $left(%TEMP_0%,$len($regexp(%TEMP_0%,'^((?:.+?\s){2}).*$','$1')))
--> "Berliner Philharmoniker "

TEMP_0 <== $cutLeft(%TEMP_0%,$len(%TEMP_3%))
--> "3. Marcia funebre (Adagio assai) "

TEMP_4 <== $left(%TEMP_0%,$len($regexp(%TEMP_0%,'^((?:.+?\s){5}).*$','$1')))
--> "3. Marcia funebre (Adagio assai) "


KOMPONIST <== $trim(%TEMP_1%)
WERK      <== $trim(%TEMP_2%)
ORCHESTER <== $trim(%TEMP_3%)
TITEL     <== $trim(%TEMP_4%)
TITLE     <== $trim(%TEMP_4%)

TEMP_0 <== $char(0)
TEMP_1 <== $char(0)
TEMP_2 <== $char(0)
TEMP_3 <== $char(0)
TEMP_4 <== $char(0)


Hier ist die Mp3tag Aktionengruppe ... kopieren nach ...
%appdata%\Mp3tag\data\actions
Attached File  Test2017_20170429.TITLE.split_by_words.mta ( 965bytes ) Number of downloads: 24


DD.20170429.1027.CEST


--------------------
* Beyond that, don't ask, when you don't know what to do with the answer. *
♥ home is where the heart is ♥
Go to the top of the page
 
+Quote Post
ohrenkino
post Apr 29 2017, 09:49
Post #8


Member


Group: Full Members
Posts: 9013
Joined: 9-December 09
From: Norddeutschland / Northern Germany
Member No.: 11458
Mp3tag Version: 2.84a



ZITAT(lupus_3 @ Apr 29 2017, 07:45) *
Es scheint also doch zu gehen. .... Ich bin ein Anfänger auf diesem Gebiet.

Das haben wir (DetlevD und ich) auch nie bezweifelt, dass es prinzipiell geht.
Nur erscheint mit der Aufwand und die Komplexität der erforderlichen Ausdrücke immer noch so hoch, dass es schon wirklich eine Unmenge Stücke mit genau dem hier vorgestellten Muster geben muss, damit sich die Entwicklung des regulären Ausdrucks lohnt.
Und gerade wenn du dich noch nicht so auskennst, erscheint mir der häppchenweise Weg mit Filtern und Tag Panel und Ersetzen deutlich besser für die Gewöhnung an dieses Programm.

Jetzt mal ehrlich: wie viele Stücke mit dem Muster hast du denn jetzt?


--------------------
42 - wie war die Frage / what was the question / quelle était la question
Go to the top of the page
 
+Quote Post
DetlevD
post Apr 29 2017, 10:30
Post #9


Member


Group: Full Members
Posts: 6637
Joined: 26-May 06
From: Wuppertal, Germany, Planet Earth
Member No.: 3194
Mp3tag Version: 2.84



QUOTE (ohrenkino @ Apr 29 2017, 10:49) *
... Nur erscheint mit der Aufwand und die Komplexität der erforderlichen Ausdrücke immer noch so hoch, dass es schon wirklich eine Unmenge Stücke mit genau dem hier vorgestellten Muster geben muss, damit sich die Entwicklung des regulären Ausdrucks lohnt. ...

Ja, du hast schon irgendwie Recht damit, wenn es um den Aufwand geht, wie er zu leisten war für die hier vorgestellte Methode.
Aber nun gibt es ja eine Mustervorlage, welche nur noch verlangt, ...
die Anzahl der Wortgruppen anzupassen, ...
und innerhalb jeder Wortgruppe die Anzahl der Worte anzupassen.

DD.20170429.1130.CEST




--------------------
* Beyond that, don't ask, when you don't know what to do with the answer. *
♥ home is where the heart is ♥
Go to the top of the page
 
+Quote Post
ohrenkino
post Apr 29 2017, 10:45
Post #10


Member


Group: Full Members
Posts: 9013
Joined: 9-December 09
From: Norddeutschland / Northern Germany
Member No.: 11458
Mp3tag Version: 2.84a



ZITAT(DetlevD @ Apr 29 2017, 11:30) *
... eine Mustervorlage, welche nur noch verlangt, ... anzupassen, ...
DD.20170429.1130.CEST

Dass du das als unbestrittener Champion der Regulären Ausdrücke (ehrliche Bewunderung) ruckzuck hinkriegst, ist mir klar.
Aber beim OP weiß ich nicht, wie steil die Lernkurve ansteigen muss, da der OP selbst sagt:
ZITAT
Darf ich noch um Hinweise bitten, wie ich diese Formeln im Programm anwenden muss, dass sie zum Ziel führen? Ich bin ein Anfänger auf diesem Gebiet.


Von daher bin ich gespannt auf die Rückfragen.


--------------------
42 - wie war die Frage / what was the question / quelle était la question
Go to the top of the page
 
+Quote Post
DetlevD
post Apr 29 2017, 12:27
Post #11


Member


Group: Full Members
Posts: 6637
Joined: 26-May 06
From: Wuppertal, Germany, Planet Earth
Member No.: 3194
Mp3tag Version: 2.84



QUOTE (lupus_3 @ Apr 28 2017, 15:39) *
Ich gebe ein Beispiel:
Der Titel-Tag lautet: "Ludwig van Beethoven Symphonie Nr. 3 Es-Dur op. 55 Berliener Philharmoniker 3. Marcia funebre (Adagio assai)".
Hieraus soll werden:
KOMPONIST: "Ludwig van Beethoven", also die ersten drei durch Leerzeichen getrennten Wörter;
WERK (=CONTENTGROUP): "Symphonie Nr. 3 Es-Dur op. 55", also die nächsten sechs durch Leerzeichen getrennten Wörter;
Orchester (=ORCHESTRA): "Berliener Philharmoniker", also die nächsten beiden durch Leerzeichen getrennten Wörter;
schließlich soll als Titel bleiben: "Marcia funebre (Adagio assai)", also "3." weg, dann bleibt der Rest der Zeichenkette stehen.
Ich hoffe, dass das mit mp3tag geht. Aus der Bedienungsanleitung kann ich es nicht erkennen.
Kann mir jemand helfen? Vielen Dank lupus_3

Wenn man sich mit der Mp3tag Funktion "Regulärer Ausdruck" nicht so gut auskennt, dann kann man in diesem Fall auch ganz gut die Mp3tag Funktion $meta_sep() benutzen.
Diese Funktion wird hier benutzt, um die einzelnen Worte zu erkennen.

Aktion: Tag-Feld formatieren
TITLE_ORIG <== $if(%TITLE_ORIG%,%TITLE_ORIG%,%TITLE%)

Aktion: Tag-Feld aufteilen
Feld: TITLE
Trennzeichen: <hier ein Leerzeichen eintragen>

Aktion: Tag-Feld formatieren
Feld: KOMPONIST
Formatstring: $meta(TITLE,0)' '$meta(TITLE,1)' '$meta(TITLE,2)

Aktion: Tag-Feld formatieren
Feld: WERK
Formatstring: $meta(TITLE,3)' '$meta(TITLE,4)' '$meta(TITLE,5)' '$meta(TITLE,6)' '$meta(TITLE,7)' '$meta(TITLE,8)

Aktion: Tag-Feld formatieren
Feld: ORCHESTER
Formatstring: $meta(TITLE,9)' '$meta(TITLE,10)

Aktion: Tag-Feld formatieren
Feld: TITLE
Formatstring: $meta(TITLE,11)' '$meta(TITLE,12)' '$meta(TITLE,13)' '$meta(TITLE,14)' '$meta(TITLE,15)


Hier ist die Mp3tag Aktionengruppe ... kopieren nach ...
%appdata%\Mp3tag\data\actions
Attached File  Test2017_20170429.TITLE.split_by_words__2_.mta ( 465bytes ) Number of downloads: 24


DD.20170429.1327.CEST

This post has been edited by DetlevD: Apr 29 2017, 15:19


--------------------
* Beyond that, don't ask, when you don't know what to do with the answer. *
♥ home is where the heart is ♥
Go to the top of the page
 
+Quote Post
lupus_3
post Apr 29 2017, 14:32
Post #12


Member


Group: Full Members
Posts: 8
Joined: 28-April 17
Member No.: 23359
Mp3tag Version: 2.81



QUOTE (ohrenkino @ Apr 29 2017, 09:49) *
Nur erscheint mit der Aufwand und die Komplexität der erforderlichen Ausdrücke immer noch so hoch, dass es schon wirklich eine Unmenge Stücke mit genau dem hier vorgestellten Muster geben muss, damit sich die Entwicklung des regulären Ausdrucks lohnt.

Es geht mir nicht nur um die Anwendung, sondern vor allem darum, die Möglichkeiten von mp3tag zu verstehen.
Go to the top of the page
 
+Quote Post
lupus_3
post Apr 29 2017, 14:34
Post #13


Member


Group: Full Members
Posts: 8
Joined: 28-April 17
Member No.: 23359
Mp3tag Version: 2.81



QUOTE (ohrenkino @ Apr 29 2017, 10:45) *
Aber beim OP weiß ich nicht, wie steil die Lernkurve ansteigen muss, da der OP selbst sagt:

Ich wüsste gerne, was "OP" indiesem Zusammenhang heißt!
Go to the top of the page
 
+Quote Post
lupus_3
post Apr 29 2017, 14:39
Post #14


Member


Group: Full Members
Posts: 8
Joined: 28-April 17
Member No.: 23359
Mp3tag Version: 2.81



Danke an DetlevD für den letzten Vorschlag, den ich nachvollziehen und umsetzen konnte. Der einzige Fehler: In WERK fehlt "op."; dort steht jetzt nur. "Symphonie Nr. 3 Es-Dur 55". Woran liegt das?
Zweite Frage: Wie kann ich den 2. Vorschlag, den mit den reg. Ausdrücken, umsetzen?
Go to the top of the page
 
+Quote Post
ohrenkino
post Apr 29 2017, 15:09
Post #15


Member


Group: Full Members
Posts: 9013
Joined: 9-December 09
From: Norddeutschland / Northern Germany
Member No.: 11458
Mp3tag Version: 2.84a



ZITAT(lupus_3 @ Apr 29 2017, 15:34) *
Ich wüsste gerne, was "OP" indiesem Zusammenhang heißt!

Ich meinte damit "original poster", also der, der den Thread eröffnet hat


--------------------
42 - wie war die Frage / what was the question / quelle était la question
Go to the top of the page
 
+Quote Post

2 Pages V   1 2 >
Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 



RSS Lo-Fi Version Time is now: 21st September 2017 - 06:15