Titleformating / Unterteilung in Genre, Subgenre und Style

Begonnen von boofar, 10. Februar 2012, 18:44:39

Vorheriges Thema - Nächstes Thema

boofar

hallo an alle!

ich habe jetzt eine ganze weile wild rumprobiert und im forum geforscht, aber ich beherrsche dieses titleformating einfach nicht gut genug.
folgendes hatte ich vor:

meine mp3s haben multivalue-tags im genre. ich habe mich dabei an der einteilung von discogs orientiert, weil ich ich diese ganz sinnvoll finde und außerdem meine genres einheitlich haben möchte.
(http://wiki.discogs.com/index.php/Style_Guide-Related_Styles_Lists)

ich würde nun gerne in foobar2000 in einem filter (columns UI!) eine unterteilung in "Genre", "Subgenre" und "Style" machen, also zum beispiel übergeordnet als reinen text das wort "GENRE", und darunter dann zum aufklappen die genres "Blues", "Brass And Military", "Childrens", "Classical", "Electronic", "Folk, World, And Country", "Funk / Soul", "Hip Hop", "Jazz", "Latin", "Non-music", "Pop", "Rock", "Reggae", "Stage And Screen", sofern sie denn im genre-tag vorhanden sind, haben.
unter diesen genres sollen dann wiederum zum aufklappen die subgenres stehen, die ja ebenfalls im genre-tag gespeichert sind.

geht das irgendwie? oder hab ich hier völlig illusorische vorstellungen?

um es mal etwas präziser zu machen:
ich scheitere im grunde an einem ausdruck a la "wenn %genre% = 'Rock' oder 'Pop' etc., dann..."

danke für eure hilfe!

boofar

hmm...
hat keiner eine idee? mir würde es auch schon reichen, wenn mir jemand bei dieser "wenn 'genre' = ..., dann ..." - sache helfen könnte.

qwert73

Ich kann dir keine Antwort geben, weil ich einfach nicht kapiere, was Du willst! Wie können denn die Subgenres im Genre-Tag stehen, genauso wie die die Genres selbst? :idiot2:
Versuch es mal anders! :)

boofar

ah, jetzt weiß ich wenigstens, woran es liegt! ;)

ich habe ALLE, ob genre oder subgenre oder style, im genre-tag gespeichert. das ist es ja! darum brauche ich ja einen ausdruck, wie "wenn %genre% = 'Rock' oder 'Pop' etc., dann...". ich würde so dann aus dem tag nur die genres rauspicken, die subgenres und styles aber nicht, die würden dann ignoriert!

Erich_2

Zitatich scheitere im grunde an einem ausdruck a la "wenn %genre% = 'Rock' oder 'Pop' etc., dann..."
Meinst Du etwa gar nur: HAS?
Wirf mal Library - Search an und schreibe hin:  %genre% HAS Rock

fbuser

Der Ansatz verschiedene Informationstypen in einem Tag zu speichern ist grundsätzlich falsch. Speichere die Subgenres im Tag SUBGENRE und die Styles im Tag STYLE. Dann mußt du auch nichts herauspicken, was ohnehin nur geht, wenn alle Tags dieselbe Anzahl an Werten besitzen und diese eindeutig einem Informationstyp zugeordnet werden können. Für Genre würde das z.B. mit $meta(genre,0) funktionieren, wenn immer genau der erste Wert im Tag dem Genre entspricht.

boofar

@fbuser:
dieselbe anzahl an werten? was genau meinst du damit?
natürlich wäre es ganz toll, wenn ich von anfang an noch zwei tags "subgenre" und "style" angelegt hätte, habe ich aber nicht. und da ich 200 GB audiodateien nur in einem mehrjährigen projekt neu taggen könnte, ziehe ich eben doch eine andere lösung vor... ;)

@Erich_2:
danke für den vorschlag, aber das scheint nur in der suche zu funktionieren!


nochmal zu der frage:
kann man mit titleformating so etwas wie "wenn %genre% = 'Rock', dann..." basteln, oder ist das völlig unmöglich?

qwert73

#7
Zitat von: boofar in 12. Februar 2012, 15:53:39
@fbuser:
dieselbe anzahl an werten? was genau meinst du damit?
Schau mal, so eine Maschine ist dumm: Du magst zwar wissen, welcher Wert das Genre und welcher wiederum das Subgenre wiedergibt - aber woher soll foobar2000 das wissen, wenn alle Werte in einem Tag abgespeichert wurden? Worauf fbuser hinaus will ist folgendes: Du kannst meinetwegen alle Werte in einem Tag abspeichern, aber dann müssen die Werte in einer Reihenfolge abgespeichert werden, an die Du dich sklavisch halten muss. Zum Beispiel: der erste Wert ist Genre, der zweite Subgenre und der dritte Style - wenn so, dann aber auch nur so und nicht anders und dass für alle Tracks! Dann könnte man mit Title Formatting eine Ansicht kreieren. Ich bezweifle aber, dass bei dir ein konsistentes Schema vorliegt: Das müsstest Du auch erst einmal bilden (wenn überhaupt möglich: setzt voraus, dass exakt die gleiche Anzahl an Werten vorliegt!) und da hättest Du nicht weniger Arbeit als fbusers Vorschlag anzunehmen, unterschiedliche Tags zu benutzen.

Da ich immer noch nicht sicher bin, was Du eigentlich vorhast, hier zumindest die Title Formatting Ausdrücke, die für dich von Nutzen sein könnten: http://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Title_Formatting_Reference#.24strchr.28s.2Cc.29 (die ersten 5!)


Edit
Eine Frage: die von dir im ersten Post aufgezählten Genres, ist das eine vollständige Liste aller Genres, so dass man sagen kann, nur diese Werte können als Genres gelten, alle anderen sind Subgenres?

boofar

@qwert73:
ja, genau so ist es!
mir ist ja völlig klar, daß foobar2000 nicht weiß, was jetzt genre und was subgenre sein soll. aber genau darum geht es ja, das will ich ihm beibringen!

also nochmal: alle meine mp3s haben im genre-tag sowohl die genres, als auch die subgenres und styles stehen.
"Blues", "Brass And Military", "Childrens", "Classical", "Electronic", "Folk, World, And Country", "Funk / Soul", "Hip Hop", "Jazz", "Latin", "Non-music", "Pop", "Rock", "Reggae", "Stage And Screen" sind für mich die genres (wie gesagt: habe mich an discogs orientiert!). der rest sind dann subgenres und styles.

foobar2000 soll jetzt folgendes machen:
1. genre-tags nach oben aufgezählten genres durchsuchen.
2. wenn er sie findet, anzeigen. (also nur die genres aus obiger aufzählung!)

qwert73

Unter dieser Voraussetzung ist es möglich, die Genres herauszufischen und anzeigen. Da ich jedoch zu denen gehöre, die ihre Tags so pflegen, dasss elend lange oder komplizierte Ausdrücke gar nicht erst notwendig werden, muss wohl jemand geübteres her, der dir den Ausdruck hinschreibt. Ich sitz grad mit verschleimtem Kopf und Husten vor dem Rechner, hab also nicht wirklich Lust und Kraft.

Und wie unterscheiden sich die Subgenres von den Styles?  :P

By the way: Was spricht eigentlich dagegen, wo du doch eine begrenzte und in sich geschlossene Liste an Werten für Genre hast, deine Tags zu ändern? Es würde nicht Jahre dauern!!

fbuser

Zitat von: qwert73 in 12. Februar 2012, 16:49:53Unter dieser Voraussetzung ist es möglich, die Genres herauszufischen und anzeigen.
Aber auch nicht wirklich. Nimmt man beispielsweise folgende Kombinationen aus der Discogs-Liste:

Genre=Rock, Subgenre=Brit Pop
oder
Genre=Reggae, Subgenre=Reggae, Style=Reggae-Pop

Dann wünche ich viel Spaß bei der automatischen Auswertung der Informationstypen (es funktioniert nicht).

qwert73

#11
Stimmt! Kannte die Liste gar nicht! Was nun?  :D

boofar, womit hast Du denn deine Alben getaggt? Mit foo_discogs werden die Genres und Styles in zwei unterschiedlichen Tags hineingeschrieben.

Nachtrag
An einer Änderung der Tags führt somit kein Weg vorbei! Wenn man dann noch foo_discogs zum Taggen benutzt, dann werden zukünftige Alben sauber getaggt, so dass das Problem nicht noch einmal auftaucht.

boofar

ich benutze Mp3tag, foo_discogs kenne ich gar nicht. das muß ich mal näher betrachten....

@qwert73:
im grunde macht discogs nur eine unterteilung in 'genre' und 'style', aber ich finde 'subgenre' dazwischen sinnvoll....

@fbuser:
das ergibt gerade auch für mich ganz viel sinn. ;)

wahrscheinlich sollte ich doch meine tags ändern. Mp3tag kann das theoretisch ja auch automatisch, und ordentlicher ist es allemal...
könnt ihr mir trotzdem mal verraten, wie ich so einzelne tags herausfischen könnte? auf dieses problem bin ich nämlich in abgeänderter form schon öfter gestoßen. wenn ihr jetzt mit mir euer wissen teilt, muß ich nicht demnächst wieder einen thread öffnen!  :D

qwert73

#13
Zitat von: boofar in 12. Februar 2012, 17:36:47
wahrscheinlich sollte ich doch meine tags ändern. Mp3tag kann das theoretisch ja auch automatisch, und ordentlicher ist es allemal...
Warum solltest Du MP3Tag benutzen, wo Du doch foobar2000 hast? Gerade was das Auffinden der Tags angeht, wird foobar2000 dir bessere Dienste leisten.

Da es ja in der Discogs_liste nur 15 Hauptgenres gibt, wirst Du auch nur 15 mal suchen müssen. Im Unterschied zu Title Formatting ist das Handling von Tags mit mehreren Werten in der Query Syntax besser umgesetzt: genre IS Blues spuckt tatsächlich nur die Stücke aus, wo Blues drinsteht, und nicht etwa auch noch Chicago Blues.

Also nimm einfach die Library Search (Hauptmenü -> Library) und gebe dort genre IS Blues ein. Wähle nun alle Lieder aus, öffne das Properties Fenster und schreibe "Blues" z.B. in den Tag <MAIN GENRE>. Anschließend benutze den Masstagger und sein "Remove values ...", um Blues aus dem Genre-Tag rauszuschmeißen. Das gleiche Spiel wiederhole nur noch 14 Mal und du bist durch, ABER ändere ein klein wenig die Strategie dort, wo als Subgenre/Style ein Wert auftaucht, der identisch mit dem Namen desselben oder eines anderen Genres ist, z.B. ist Hip-Hop einmal ein Genre, aber auch Subgenre des Genres Electronic. Ein wenig Frickelei ist also doch notwendig: studiere die Liste und werd dir bewußt, bei welchem Genre welches Problem auftreten könnte. Nach einem ersten schnellen Überfliegen, glaub ich aber, dass bei den meisten Genres keine großen Probleme auftauchen werden.

Last but not least: Wenn du willst, kannst Du am Ende dann den Inhalt des Tags GENRE in STYLE reinkopieren und den Inhalt von MAIN GENRE in GENRE (in genau der Reihenfolge!!).


Nachtrag
Bei den wenigen größeren Änderungen, die ich in den letzten jahren durchgeführt habe, habe ich trotz aller Sicherheit beim Vorgehen, erstmal mit einer Kopie meiner Bibliothek gearbeitet. Man weiß ja nie!

acknot

Soweit ich verstanden habe, enthält boofars Genretag neben der Genrebezeichnung immer auch mindestens eine Stylebezeichnung, wenn nicht noch eine Subgenrebezeichnung. "genre IS blues" fände daher vermutlich nichts.
"genre HAS blues" führt zu Missverständnissen, wegen gleich lautender Bezeichnungen in den Genre-, Subgenre-, Stylebezeichnugnen.

Vielleicht gibt es andere Regelmäßigkeiten, die nützlich sind:
boofar, hast du zwischen Genre, Subgenre und Style immer ein Trennzeichen stehen (Semikolon, Komma,...)?
Hast du die Reihenfolge immer konsequent befolgt - Zuerst Genre, dann Subgenre, dann Style (soweit vorhanden)?


Vielleicht postest du mal ein paar exemplarische Genretags, die die möglichen Kombinationen veranschaulichen.


Falls du Trennzeichen verwendet hast und die Reihenfolge eingehalten, wird es sehr einfach und hier ist eine mögliche Lösung:

Eine Playlist mit allen deinem Musikstücken markieren, rechtsklicken--> Text Tools--> Advanced wählen (ggf. die component Text Tools nachrüsten).
Bei "Track Pattern" eintragen: %genre%
Dann copy klicken.

In einem Texteditor einfügen. Dort stehen nun in der Reihenfolge deiner Playlist alle Genreeinträge.
Achtung: Über der ersten und unter der letzten Zeile können Leerzeilen stehen, die keinem Eintrag entsprechen -> diese löschen.
Um ganz sicherzugehen, kannst du bei Track Pattern %filename% :%genre% eintragen. So kannst du sicherer erkennen, ob oben oder unten tatsächlich Leerzeilen stehen oder der Genretag zufällig leer war. Der Doppelpunkt funktioniert als Markierung, um den %filename%-Teil bis dahin mit einer Suchen&Ersetzen Operation zu löschen.

Über die Trennzeichen lassen sich jetzt sehr schnell drei Listen erstellen: Genre.txt, Subgenre.txt, Style.txt.
Alle drei Listen haben so viele Zeilen wie Items in der Playlist sind: Natürlich sind auch die Leerzeilen wichtig, um die Entsprechung mit der Playlist zu gewährleisten.

In Foobar wieder die komplette Playlist (dieselbe!) markieren, rechtklicken--> Properties--> "Automatically Fill values" wählen.
Pattern: %SUBGENRE%
Die gesamte Subgenreliste kopieren, dann bei Source: "Clipboard: line per track" wählen und "Paste" klicken, dann OK, dann Apply.

Das auch für die anderen beiden Listen durchführen. Vermutlich dauert die Applyphase lange, aber alles andere geht sehr schnell.


Wenn keine Trennzeichen existieren, wird es etwas schwieriger, aber auch da ist nur etwas mehr Vorbereitung im Editorbereich nötig. Die restlichen Schritte sind identisch.
Wenn Genre, Subgenre und Style auch noch durcheinander stehen, wird es ungleich schwieriger. Aber das ist hoffentlich nicht der Fall.


@qwert73: Ich habe deine Lösung getestet, bin aber auf das oben beschriebene Problem gestoßen. Falls ich sie nur falsch verstanden habe, sag mir Bescheid!