Masstagging

Begonnen von Xaver, 23. April 2018, 21:21:24

Vorheriges Thema - Nächstes Thema

Xaver

Hallo zusammen

Ich benutze seit gut einem Jahr foobar2000 (1.3.13) und habe zwischenzeitlich meine gesamte CD-Sammlung integriert - hauptsächlich klassische Musik. Ich bin sehr zufrieden, möchte nun aber die Sammlung mit einigen Metadaten für jeden Komponisten ergänzen, z.B.:

Komponist (voller Name)
Staat
Lebensdaten
Ära
Foto (falls es möglich ist, ein Bild pro Komponist abzulegen)

Es handelt sich um eine sehr grosse Musiksammlung (>10'000 CD) und Daten von mehr als 1'500 Komponisten, so dass ich das möglichst automatisiert machen möchte. Die Daten wären in einer Access-Datenbank oder Excel vorhanden.

Ich habe die Musik in foobar2000 so angelegt, dass jedes Album mit dem Nachnamen des Komponisten beginnt, z.B. "Mozart: Sinfonie Nr. 40". Befinden sich auf einem Album mehrere Komponisten, beginnt jeder Track mit dem Komponisten: 1. "Mozart: Sinfonie Nr. 40 g-moll, KV 550: I. Molto allegro"

Eine aufwändige manuelle Methode, die ich mir überlegt habe: Ich sortiere z.B. nach "ALBUM HAS Mozart: OR TITLE HAS Mozart:" wähle die Resultate aus und füge dann die fehlenden Daten über Properties ein.

Über den Masstagger habe ich einige scripts ausprobiert z.B: Format COMPOSER using $if2($strstr(%album%,Mozart:),Mozart Wolfgang Amadeus) - aber so wirklich effizient ist das nicht.

Hat jemand eine Idee, wie man das automatisiert machen könnte?

Das ideale wäre natürlich ein Script, dass beim Suchergebnis ALBUM HAS Komponist: OR TITLE HAS Komponist: die fehlenden Metadaten extern aus der Access-Datenbank oder Excel ausliest und in foobar2000 in den entsprechenden Felder abfüllt.

Herzlichen Dank für eure Ideen/Beiträge!
Gruss Xaver





grimes

Automatisiert ist schwierig, geht aber. Vielleicht solltest Du dir die Funktion "Input data (one line per track)" im Masstagger anschauen.
Du musst die Excel-Datenbank in viele Zeilen mit Trenner, wie a;b;c;d umwandeln, das Schema ist dann z.B. %composer%;%composer_nation%;%composer_birth%;%composer_death%
Wichtig ist, die playlist muss genauso sortiert sein, wie die Tabelle.

So habe ich getaggt:

Artist Name : Bruckner - Wand, Cologne Radio Symphony Orchestra
Track Title : Symphony No 6 - I.Maestoso
Album Title : Bruckner: Symphony No.6 in A major
Date : 1976
Genre : Symphony; Classical
Composer/Members : Anton Bruckner
Composer/Band : Anton Bruckner
Album Artist :
Track Number : 1
Total Tracks : 4
Disc Number :
Total Discs :
Comment : 6. Sinfonie (Bruckner) (...)
<ACCESSED> : 2009-03-18
<ADDED> : 2009-03-18
<ADDED_TIMESTAMP> : 128818796731738157
<ALBUM DYNAMIC RANGE> : 12
<BIOGRAPHY> : Anton Bruckner (...)
<COMPOSER_BIRTH> : 1824
<COMPOSER_DEATH> : 1896
<COMPOSER_NATION> : Austria
<COMPOSITION_DATE> : 1879-81
<COMPOSITION_PREMIERE> : 26. Februar 1899 (leicht gekürzt) unter der Leitung von Gustav Mahler
<CONDUCTOR> : Wand
<CREATED> : 2009-03-18
<DYNAMIC RANGE> : 11
<ENSEMBLE> : Wand, Cologne Radio Symphony Orchestra
<FINGERPRINT_FOOID> : 0000306F0100B7065B1474CFCCFF02DBFFFF25EAFFFFE3C2CEFF4970D2DF3970C0FF8C10D2FF7847D06F1034C0233010F4DFDBF5C2CF0FE6DAFF30D0CFFE3B00FFE639CFFFAA2BDFFFFD830D9D8ECF004BCF2B10C98F616F920F0C83C1D11FE37CF8E3BFBCF0CF3FBCF04DFF5DFECB2BC7FF30243DFC0FAEAEF86B0E46E8EFECBEE9BFF3DB70C344D334326D73F93F73FFFAFFB6FCC3FFADF3FEDFC722F2BDFFDD034FBFD63F2FE7CBEC0FFF73E9273B3FEC0B703FFD03703FBC6B363F6C83F23F3C43F33F7C43F03DAC3370B3FC3239F6303275F6C2332BF3EC3120B305312CF3343410E0FC3100B8FCEC60028BCE2F10AF19E7141F2833A1785F515DFB0323DECF07132FF40020C3F00A67FFFC1803DFFC1857C3F06140D7E48701BCC403886FF0AB75D3F4B4F8E3F2537F6C7C8F97BFC1FBC8CDFF69CDC4C3C7B3CC73037B880C5B3CF7E44302FF31F37A7E7CEAC1B7F9ECDF4FFBFF1F0FBC66FCFFF62CC8BDD802CFFFD4EFBEFBB206E0831AD3EFBE79727D27AAACB3E38E38B25E2CDB6DB8E3EFBEFBCF3CF3CF3CDAC861F21F21774D38E79E7BF37F30E7BF7BEBBFBAF30FBBE77FB7E7BEC0
<FIRST_PLAYED_TIMESTAMP> : 128819824993584581
<LAST_PLAYED_TIMESTAMP> : 131522075858548713
<MODIFIED> : 2009-03-18
<MUSICAL_PERIOD> : Romantic
<OPUS> : WAB106
<ORCHESTRA> : Cologne Radio Symphony Orchestra
<PLAY_COUNT> : 15
<RATING> : 5


Ich habe für jeden wichtigen Komponisten eine eigene playlist erstellt (sortiert nach opus).

blackritus

Oder du schaust dich mal bei https://www.mp3tag.de/ um. Ist meiner Meinung nach in dem Punkt etwas intuitiver als fb2k, da es extra nur für's Taggen gemacht wurde.

Es ist Freeware und wird von einem Deutschen entwickelt, den man auch im mp3tag-community Forum für Supportanfragen antreffen kann.

Aber deine Quelldaten wirst du wohl auch dort erst mal bearbeiten müssen.

AldiMp3

Zunächst zu den Bildern:

Fehlende Bilder am besten mit dem Album Art Downloader nach einem klaren Benennungsschema auf den eigenen Rechner bringen und dann überlegen ob diese eingebettet werden sollen. Das ginge auch mit Foobar, aber bei Mp3Tag gibt es Aktionen (Quick) um Album-Cover für ganze Verzeichnisse oder Festplatten zu importieren oder zu exportieren (je nach Konzept). Es gibt auch standardmäßig mehr Cover-Felder wie Composer, Conductor und vieles mehr. Foobar bietet im Standard Front, Back, Artist oder Disc. Vier Bilder auf einem Bildschirm sind sicher mehr als genug, so dass auch Back oder Disc als Composer gepflegt werden könnten. Alles nur eine Frage des Geschmacks.

Dann zur Oberfläche DUI oder CUI und nutzbaren Plugins:

Einige nutzen nicht das Standard (Default) User Interface (DUI) sondern installieren alternativ Columns UI. Alle die beim Standard bleiben können sich zusätzlich Facets, Simplaylist, Masstagger, Quick Tagger, Run Services und vieles mehr als Plugin herunterladen und nutzen. Die meisten Plugins funktionieren wohl unabhängig von der Oberfläche, aber Facets oder Simplaylist setzen auf der DUI auf.

Lösungsansatz für Foobar:

Ich nutze besonders Facets sehr gern, da so Filter wie ,,Mozart" über alle Metadaten (egal ob im Musiktitel, im Album, als Artist, oder AlbumArtist, Komponist, Kommentar oder in anderen Feldern immer selektiert und weiterbearbeitet werden können. Ferner sehe ich immer in welchem Feld sich ,,Mozart" befindet.

So bekomme ich bei vielleicht 200.000 Musiktiteln die 15.000 von Mozart in eine Selektion und kann für diese 15.000 Musiktitel eigene Felder wie Comp_Nation, Comp_life, Comp_Ära oder ähnliches mit einer Eingabe für 15.000 Titel in einem Rutsch taggen. Nur 3 Eingaben für 45.000 Metadaten.

Natürlich müssen diese Felder vorher in alle gewünschten Sichtweisen und genutzten Plugins eingebaut werden. Bei mir z.B. in Playlistview, Facets, Simplaylist, Quick Tagger und auch unter File Preferences Advanced könnte man noch einpflegen, dass z.B. in der Statusbar solche Angaben erscheinen sollen. Foobar und seine Tag-Felder sind frei gestaltbar immer nach dem Schema

Composer = %Composer%
Ära = %Comp-ara%
Land = %Comp_nation%
ID = %nr%

Alles frei definierbar unter der Playlist, Facets, zum Quick Taggen, in der Statusbar oder sonstwo.

Lösungsansatz für die Tabellenkalkulation:

In Excel, LibreOffice & Co in wenigen Sekunden fortlaufende Nummern von 1 bis z.B. 50.000 erzeugen. Alle Musiktitel oder eben nur diese ersten 50.000 selektieren und mit copy&paste das eigene Feld ID automatisch befüllen. Damit wird sichergestellt, dass es für jede Musikdatei einen eindeutigen Feldbezeichner (fortlaufende Nummer) gibt. Danach wieder mit Copy & Paste alle Feldinhalte von Artist, Titel, Album usw. nach Excel hinter die Spalte ID kopieren bis alle Felder (Spalten) gefüllt sind. Achtung vorher alle Felder beginnend oder endend mit ,," ändern, da sonst die Feldtrennung eventuell nicht zuverlässig klappt.

So sind dann mit wenigen Handgriffen alle Foobardaten in Excel und können dort selektiert, gefiltert, mit anderen Datenbeständen verglichen und formelbezogen ergänzt werden. Da nun auch in Foobar eine ID vorhanden ist, bekommt man diese Daten sowohl in Foobar, als auch in Excel immer wieder in eine vergleichbar sortierte Ausgangslage und kann doch zwischendurch alles mögliche versuchen um die Daten strukturiert anzureichern.

Die Spalten A-J enthalten dann die Foobardaten, die Spalte K bleibt frei die Spalten L-S enthalten die Access/Exceldaten. Alles kann in Blöcken frei sortiert, gefiltert und verglichen werden. Es muss aber gemeinsame Bezeichner geben, die mit der Formel =b1=m1 den Wert wahr oder falsch ergeben. So kann man schnell kontrollieren, ob man wirklich 2 identische Datenbestände nutzbar hat oder auf der einen oder anderen Seite noch kleine Anpassungen machen muss.

Wenn dann zeilengerecht alles links und rechts in Blöcken richtig liegt, können die ergänzenden schon vorhandenen Felder einfach auf der Foobarseite im Excel ergänzt werden und sortiert nach ID wieder per copy&paste in Foobar im 50.000er Pack übertragen werden.

Wer sich richtig gut in Excel oder LibreOffice auskennt, nutzt auch Formeln wie =sverweis, setzt Pivottabellen zur Datenanalyse und Aufbereitung ein oder nutzt auch seine Access-Kenntnisse.
Office-Poweruser brauchen sicher keine tieferen Foobarkenntnisse und zeilengerecht aufbereitete Datenbestände. Welche Lösung besser geeignet ist, hängt von den Vorkenntnissen auf der einen oder anderen Seite ab.

Xaver

Herzlichen Dank an AldiMp3, blackritus und grimes für eure raschen und ausführlichen Antworten! Ihr habt einige Lösungsansätze aufgezeigt. Melde dann gerne was funktioniert hat. LG Xaver