Cover automatisch in Tags schreiben

Hallo,
seit gut einer Woche beschäftige ich mich intensiv mit mp3tag und bin von den Möglichkeiten, die in diesem Tool stecken, beeindruckt.

Ich habe eine umfangreiche mp3-Sammlung die unsortiert ist. Da ich mir zu Weihnachten eine Anlage von Sonos gegönnt habe, möchte ich nun die Sammlung auf dem zentralen NAS "sonosgerecht" aufbereiten, d.h. die Tags müssen gesäubert werden. Ich habe auch schon viel im Forum gelesen und den ein oder anderen Tipp umgesetzt. Soweit bin ich auch fertig, die Struktur steht, das Dateisystem und die Tags sind angepasst, aber leider finde ich keine Möglichkeit die Cover automatisiert zu ergänzen. Bei den Alben habe ich das zu Fuß gemacht: Album in mp3tag einzeln geladen und über freedb und Co. die Cover in jedes einzelne File eingebunden. Mühevoll, aber es geht.

Nun besitze ich noch zig mp3-Dateien die "lose" auf der Platte rumliegen und keinem Album zugeordnet werden können.

Gibt es eine vernünftige Möglichkeit, die Dateien anhand des Interpreten und/oder Titel mit einem Bild in einer Online-DB abzugleichen und diese dann automatisch zu taggen? Ich habe hier im Forum ein lastfm-script gefunden, welches zu einem Track fast immer den richtigen Interpreten identifiziert. Allerdings muss ich das für jeden Track einzeln machen und die Angaben jedes Mal bestätigen. Kann man das irgendwie automatisieren? Hier im Forum habe ich nichts Passendes dazu gefunden und so fit bin ich in Sachen "scripten" einfach noch nicht. Aber vielleicht hat ja jemand ein ähnliches Problem gehabt.

Vielleicht könnte man dabei auch gleich das Genre aktualisieren, das ist auch alles Andere als gut.
Für Lösungsansätze und/oder Beispiele wäre ich sehr dankbar.

Danke und Gruß,
djhans.

Zu diesem Thema gibt es schon einen Thread:
Album suchen anhand von Titel/Artist

Nach meinem Dafürhalten ist es unmöglich, nur mit Titel und Artist eine sinnvolle Albumzuweisung zu treffen - man müsste sich jedes einzelne Stück anhören, um die kleinen aber feinen Unterschiede zu finden.
Und automatisch geht es meiner Ansicht nach gar nicht - jedenfalls nicht, wenn man die Sammlung ernsthaft auf Vordermann bringen will.
Wenn da irgendein Dummy-BIld rein kann ... das ist mit Mp3tag gar kein Problem.

Hallo,
ok, aber das Bild vom Interpreten ist doch unabhängig vom Titel. Ich dachte nur, das macht mehr Sinn als ein Dummy-Bild. Das exakte Cover zum Titel kriegt man wohl nicht hin.

Wie gesagt, die Treffer mit dem last.fm-Script sind gut. Das würde ich einfach mal drüberlaufen lassen, aber meine Frage ist, wie automatisiert man das.

  1. Abfrage des Bildes bei last.fm
  2. automatisches taggen in das entsprechende File, ohne das man irgendetwas bestätigen muss.

Das ist halt ein Versuch. Vielleicht kommt auch Mist dabei raus....

djhans.

Du kannst natürlich lauter Bilder (manuell) mit den Konterfeis der ARTISTs in einem Verzeichnis ablegen und dieses dann per Aktion einbinden ...
Allerdings wäre es sinnvoller, dann nach "hat noch kein Cover und sit folgender ARTIST" zu filtern und die Bilder/das Bild dann in einem Rutsch allen Stücken dieses Künstlers zuzuweisen.
Um einen Filter anzuwenden drücke F3, damit am unteren Fensterrand eine Eingabebox erscheint.
Dort tippe ein:
%_covers% IS ""
Das filtert alle Tracks ohne Cover.
Dann kannst du ja nach ARTIST sortieren (Spaltentitel klicken).
Wiederholtes drücken von F3 aktualisiert die Liste.

Einen automatischen Prozess, der Internetquellen anzapft für eine beliebige Menge unterschiedliche Bilddateien zu finden, gibt es nicht in MP3tag.

ok, dann lass ich es. Wär´ halt ganz nett gewesen......vielleicht lösche ich die Files und beschränke mich auf die Alben :slight_smile:

djhans.

Hallo,

habe so eine ähnliche Frage auf dem Herzen. Ich lade die Bilder mir AlbumArtDownloader ( http://sourceforge.net/apps/mediawiki/albu...title=Main_Page ) runter. Man kann auch Actions einrichten um Bilder einzelner Dateien zu suchen .. aber:
Cover Mass Download:
Da gibt es die Möglichkeit per Commandline Bilder zu suchen.
Nun gehe ich wie folgt vor:
Mp3tag -> MP3s markieren, rechter Mausbutton -> Export
Hier habe ich mir einen neuen Eintrag angelegt: AAD Auto Download
Wenn man diesen Eintrag bearbeitet steht dort:

$filename(txt,utf-8)
$loop(%_filename_ext%)C:\AlbumArtDownloader\aad.exe /sources all /minsize 300 /minaspect 0,9 /covertype f /path "c:\cover\\%artist% - %title%.jpg" /artist "%artist%" /album "%title%"
$loopend()

Als Dateiname dann eben "meinecover.CMD" angeben. Diese CMD Datei kann ich in der Kommandozeile (cmd) ausführen.
Inhalt der Datei ist ein Befehl für jedes Lied, ein Cover herunterzuladen und im /path zu speichern.
Ggf. die Bilder nach dem Download in die Verzeichnisse der MP3s legen.
Wenn die Cover da sind, dann einfach noch eine Action ausführen (s. Bild) - das war's. Im großen und ganzen sollten die Dinger richtig sein. Die restlichen die nicht stimmen fallen bei einer kurzen Kontrolle auf und man kann sie dann eben ersetzen.

Olaf

Hallo

Benchmark:
Für 94 MP3s Bilder gesucht. Dauer: 11 Minuten

Diese Bilder kopiert zu den MP3 (Windows Explorer)

Dann über "Import Cover from ...." Bilder geschrieben: 2:10 Min:Sek

1 Fehler beim Import ... geht's noch schneller?

Olaf

Hallo Olaf

Habe versucht nach deiner Anleitung die AlbumCover runterzuladen,
bin jedoch leider gescheitert.

Ich denke, es liegt entweder am Code, oder bei der Ausführung der Cmd-Datei.

Kann ich den Code genauso wie du ihn angegeben hast bei mir reinkopieren (Die Pfad-Angaben habe ich natürlich angepasst)?
Unverständlich ist für mich %filename_ext% in der Loop, was bedeutet das?

Was meinst du mit "Diese CMD Datei kann ich in der Kommandozeile (cmd) ausführen."?
Heißt dass einfach Doppelklick auf die von Mp3Tag erstellte Datei "meinecover.CMD", oder ist da mehr nötig?

Probiere es damit ... vielleicht funktioniert es ...

Export CMD script for AAD cover download
20120131.Export_CMD_for_AAD_download.zip ( 2.27K ) Number of downloads: 12

Anwendung:
Das Export Skript aus der zip Datei entpacken und ablegen in den Ordner
%APPDATA%\Mp3tag\export

Im Export Skript den Aufruf von AAD.EXE für das eigene System anpassen.
Diese Zeile bearbeiten ...

'SET AAD_EXE=...\AlbumArtDownloader\aad.exe'

In Mp3tag Dateien selektieren und das Export Skript ausführen.

DD.20120131.2335.CET
Edit.20120201.2028.CET
Edit.20120205.1427.CET

Habe das Export Script noch etwas verändert, da ich die Albumcover nicht nach Interpret und Title sondern nach Interpret und Album suchen will.
Habe also überall wo ich %title% gefunden habe auf %Album% ausgebessert.
Zusätzlich sollen meine Album Cover 500x500 werden, das habe ich auch noch angepasst, und funktioniert auch.

Übrigens muss beim Pfad der Ordner Programme als "program files" (mit Anführungszeichen) genannt werden, sonst funktioniert es nicht.

Habe in MP3Tag nun nach Track sortiert und alle MP3 mit Tracknummer 01 markiert (Brauche ja pro Album nur 1Cover) und das ExportScript gestartet.

Funktionieren tut es,
ABER:
es läuft nun seit ca. 40 Stunden und von den 316 Alben wurden erst 110 Cover gefunden.
Woran liegt das? Die Geschwindigkeit von meinem Internet kann es nicht sein, zumeist bleibt es bei der Suche von Amazon so lange stehen.

Lade hier das Exportscript nochmals hoch, vielleicht kann hier jemand noch die Bremse rausmachen :rolleyes:

ExportScript_neu.zip (2.24 KB)

Dateipfad ...
Ändern von: (Anm.: ... kaum zu glauben, dass das funktioniert ???)

'SET AAD_EXE=C:\"program files"\AlbumArtDownloader\aad.exe'

nach:
Windows englisch

'SET AAD_EXE="C:\Program Files\AlbumArtDownloader\aad.exe"'

oder:
Windows deutsch

'SET AAD_EXE=C:\Programme\AlbumArtDownloader\aad.exe'

vielleicht auch so:
Windows deutsch

'SET AAD_EXE="C:\Programme\AlbumArtDownloader\aad.exe"'

Das Umfassen von Dateipfaden mit doppelten Apostrophzeichen ist immer dann notwendig im Dateisystem, wenn im Dateipfad ein Leerzeichen enthalten ist.

Eventuell ändern von:

'%AAD_EXE% %AAD_PRESET% -artist "'%ARTIST%'" -album "'%ALBUM%'" -path "'%_folderpath%%ARTIST%' - '%ALBUM%'.%%type%%.%%size%%.jpg"'

nach:

'%AAD_EXE% %AAD_PRESET% -artist "'%ARTIST%'" -album "'%ALBUM%'" -path "'%_folderpath%$validate(%ARTIST%' - '%ALBUM%,'~')'.%%type%%.%%size%%.jpg"'

... ersetzt die für Dateipfade ungültigen Zeichen mit '~'.
oder nach:

'%AAD_EXE% %AAD_PRESET% -artist "'%ARTIST%'" -album "'%ALBUM%'" -path "'%_folderpath%$ansi(%ARTIST%' - '%ALBUM%)'.%%type%%.%%size%%.jpg"'

... gibt Zeichen in der aktuellen Codepage aus.
oder nach:

'%AAD_EXE% %AAD_PRESET% -artist "'%ARTIST%'" -album "'%ALBUM%'" -path "'%_folderpath%%ARTIST%' - '%ALBUM%'.jpg"'

... ohne Typ und ohne Größenangabe.

Die "Bremse" liegt bei ...
-sources all
... die Begrenzung auf ein paar wirklich gute sources wäre eventuell beschleunigend.
... das Ausblenden von bestimmten sources wäre eventuell beschleunigend.

-minAspect 1
... das ist ein Perfektionsanspruch, den nur wenige Bilder in der Wirklichkeit erfüllen.

-minSize 500 -maxSize 500
... das ist die Suche nach dem perfekten Bild, da ist kein Spielraum drin.

Etwas mehr 'fuzzy search', und es wird mehr Treffer geben bzw. schneller ein Treffer dabei sein.

DD.20120205.0855.CET

Hier ist eine neue Version des CMD Skripts ...

Export CMD script for AAD cover download, Version 3
20120205.Export_CMD_for_AAD_download.v3.zip (2.87 KB)

Anwendung:
Das Export Skript aus der zip Datei entpacken und ablegen in den Ordner
%APPDATA%\Mp3tag\export

Falls notwendig, im Export Skript den Aufruf von AAD.EXE für das eigene System anpassen.
Diese Zeile bearbeiten ...
'SET AAD_EXE=...\AlbumArtDownloader\aad.exe'

In Mp3tag Dateien selektieren und das Export Skript ausführen.

Achtung:
Ordner- und Dateinamen mit Sonderzeichen wie z. B. äöü werden mit Zeichen der DOS Codepage gespeichert.

DD.20120205.1250.CET
Edit.20120205.1908.CET

20120205.Export_CMD_for_AAD_download.v3.zip (2.87 KB)

Vielen Dank,
das Script funktioniert jetzt super!

Um die Geschwindigkeit zu erhöhen habe ich die Dateien der Sources, die extrem lange durchsucht werden (wie z.B. die verschiedenen Amazon Seiten), im Ordner
"C:\Program Files\AlbumArtDownloader\Scripts"
umbenannt und ein "Z" davorgestellt, sodass sie im Alphabet als letzte drankommen. Zumeist wird bei anderen Sources schnell ein Cover gefunden, nur wenn sonst nichts gefunden wird werden die Amazon-Seiten auch noch durchsucht.

Ist das Script von 2009 oder ein anderes Neueres?

Kennt vielleicht noch jemand ein gutes command line tool, das die abgespeicherten Cover optimieren kann? Sprich: JPEGs in der Dateigröße verringern, Metadaten entfernen und was noch dazugehört. Das wäre ein optimaler Zwischenschritt zwischen Abspeichern und Einbetten.

Vielleicht Irfanview?
Tools - MP3tag-Tags in einer Batch-Datei

Schau Dir mal die Tools von imagemagick an. Aus den x verschiedenen Möglichkeiten würde ich "mogrify.exe" mit seinen unzähligen Optionen empfehlen.
Erwähnenswert sind z.B.

-quality -> JPEG/MIFF/PNG compression level

-strip ---> strip image of all profiles and comments
-resize --> resize the image