Ordnernamen-Prefix basierend auf Inhalt erstellen (ID3)

ChronosX

Ensign
Registriert
Dez. 2012
Beiträge
156
Hallo Forum,

ich bin auf der Suche nach einem Script (oder auch Programm, mir egal :D),
dass mir die Ordnernamen meiner Musikalben basierend auf deren Inhalt (sprich Songs) benennt.
Konkret heißt das: Ich möchte als Prefix für Alben folgendes

von:
Code:
Artist
    Album1
        Song1 [ID3-Tag Jahr: 2014] 
        Song2 [ID3-Tag Jahr: 2014]
    Album2
        Song1 [ID3-Tag Jahr: 2012]
        Song2 [ID3-Tag Jahr: 2012]
zu:
Code:
Artist
    2014_Album1
        Song1 [ID3-Tag Jahr: 2014] 
        Song2 [ID3-Tag Jahr: 2014]
    2012_Album2
        Song1 [ID3-Tag Jahr: 2012]
        Song2 [ID3-Tag Jahr: 2012]

Ich gebe also einen Ordner eines Artists an und das Script benennt die darin liegenden Ordner um.
Den Prefix möchte ich deswegen, da es zum sortieren sich ja nun anbietet das Jahr zu nehmen und es die Übersicht erhöht.
Die Dateinamen (nicht die Titel der Songs selbst) benenne ich zu mindestens mit dem Programm Mp3tag recht erfolgreich (Konverter -> Tag - Dateiname [$num(%track%, 2)" - "%title%] nummeriert, mit führender Null und Bindestrich). Aber das bringt mir ja leider nichts für die Ordner/Alben.

Kennt ihr da Möglichkeiten, habt vllt selbst irgend ein Setup für sowas?
Mir wurde bspw. gesagt das tek-utils in Kombination mit mootag dafür zu gebrauchen sein könnte aber mit Python (und Linux) kenne ich mich nur sehr rudimentär aus. Mir ist dennoch die Zielplattform ziemlich egal.

Also würd mich freuen wenn mir jemand helfen kann (und wenn es mit Python wäre es auch etwas erklärt, ich möcht ja auch was lernen)

MfG
 
Hi,

also du hast ein Windows System?
Ich hab mal bissl geschaut und leider auch kein Tool gefunden was dir da aushilft.

Wenn du aber Interesse an Python hast, hast du auch lust programmieren zu lernen bzw. kannst es vlt. auch?!

Dann ist so ein Projekt eigentlich ne spannende Sache für den "Einstieg" in die Entwicklung.
Ich persönlich hätte es jetzt mit C# realisiert.
Da gibt es eine ID3 library mit Hilfe der du auf verschiedene Tags zugreifen kannst.
Und im Grunde kannst du im besten Fall eine Anwendung schreiben der du einen Ordner gibst
(Musik) -> dann geht die Anwendung los Ordner für Ordner bis eine Musikdatei zu finden ist -> liest den ID3 Tag aus mit dem Jahr -> überschreibt den Ordnernamen mit JAHR + vorheriger Name.

Geht vermutlich auch mit Java und anderen Sprachen aber ich bin nen C# Fanboy :freak:

Ansonsten tut mir leid wenn ich dir jetzt nur beim selbst schreiben helfen könnt, n Tool kenn ich leider net.
 
Ja grundsätzlich Windows, wobei mir lieber wäre das ganze plattformunabhängig zu haben (ist kein Muss).
Also naja ich kann programmieren. Ich bin vllt nicht der größte Experte aber ich kann Funktionen schreiben, Schleifen etc. wenn ich Zeug schreibe dann vor allem in JavaScript (früher mal VB.net und Object Pascal). Sprich, ich versteh schon, wenn es halbwegs gut kommentiert, erklärt ist, was wo wie passiert.

Ich stelle mir das grundsätzlich auch nicht soo schwer vor, wie du es eben auch beschrieben hast.
Ich bin jetzt C# nicht abgeneigt, aber damit hab ich noch weniger gemacht als mit Python und da schon echt wenig... ich mein ich bekomm einfache Funktionen hin, paar Vergleiche aber bei regulären Ausdrücken, irgendwelche Module einbinden hörts auf.

Am liebsten wäre mir in der Tat Python, ich mag halt Skripte die jetzt ohne großes drum herum viel machen können. Ich hab halt auch nach der Arbeit wenig Zeit (und vor allem Lust) noch großartig zu lernen - das ist mein Hauptproblem.

Hm so viel jedenfalls dazu :D
 
falauss schrieb:
ok verstehe.

also Pyhton bin ich raus :D

aber hab gerade mal bissl Kumpel geschnackt und der meinte:

"watt programmieren? das geht doch mit den regular expressions von Mp3Tag"...
da kann ich dir zwar auch nicht groß weiterhelfen weil ich MP3Tag absolut nicht kenne, aber:

http://forums.mp3tag.de/index.php?showtopic=9082
http://forums.mp3tag.de/lofiversion/index.php/t9106.html

vlt hilft dir das weiter.

Das sieht jetzt auf den ersten Blick nicht soo verkehrt aus, ich schau mir die beiden Links morgen mal an.
Danke sehr! (Wenn ich doch an der C# Variante interessiert bin, schreib ich dich mal an^^)
 
Zuletzt bearbeitet:
Okay ich hab mir das mit Mp3Tag mal angesehen und es ist erschreckend einfach.

Eines gleich vorweg, macht nicht (wie ich) den Fehler und versucht über "Konverter -> Tag - Dateiname" den Ordnernamen zu ändern, das geht so direkt nicht. Das einzige was passieren würde, dass man einen weiteren Ordner im Ordner mit den Songs bekommt - also in meinem Beispiel Album -> Jahr_Album | Song1.mp3 Song2.mp3.

Man tut folgendes:
  1. Aktionen -> Aktionen
  2. Aktionsgruppen - > Neu
  3. Name der Aktionsgruppe -> Namen vergeben
  4. Neue Aktionsgruppe aus wählen -> Bearbeiten
  5. Neu - Aktionstyp wählen -> Tag-Feld formatieren
  6. Feld: _DIRECTORY | Formatstring: %year%_%album%
    Zusätzlich:
  7. Feld: _FILENAME | Formatstring: $num(%track%, 2) - %title%
Mp3Tag.png

Um das noch mal zu veranschaulichen ein Beispiel

IST:
Code:
[Artist]: Hearstrevolution
    [Ordner/Album-Name]: Revolution Rising
        Dateiname: 01 - Song1.mp3 [title]: Song1.mp3 [year]: 2013 [track]: 1 
        Dateiname: 02 - Song2.mp3 [title]: Song2.mp3 [year]: 2013 [track]: 2
    [Ordner/Album-Name]: rite_or_die
        Dateiname: Song1.mp3 [title]: Song1.mp3 [year]: 2013 [track]: 1 
        Dateiname: Song2.mp3 [title]: Song2.mp3 [year]: 2013 [track]: 2

Im IST-Beispiel stimmt der Name des ersten Albums aber des Jahres Prefix fehlt. Im zweiten Album ist der Ordner/Album-Name falsch und die Songs haben keine Nummern Prefixe.

SOLL:
Code:
[Artist]: Hearstrevolution
    [Ordner/Album-Name]: 2013_Revolution Rising
        Dateiname: 01 - Song1.mp3 [title]: Song1.mp3 [year]: 2013 [track]: 1 
        Dateiname: 02 - Song2.mp3 [title]: Song2.mp3 [year]: 2013 [track]: 2
    [Ordner/Album-Name]: 2013_Ride or Die
        Dateiname: 01 - Song1.mp3 [title]: Song1.mp3 [year]: 2013 [track]: 1 
        Dateiname: 02 - Song2.mp3 [title]: Song2.mp3 [year]: 2013 [track]: 2

Mal abgesehen davon, dass das mit Mp3Tag ja doch ganz einfach geht, will und werde ich das mal irgendwann noch als Script umsetzen ^^
 
Zurück
Oben