Deutsches AutoHotkey Homepage AutoHotkey Community
Wir helfen uns gegenseitig aus der Patsche
 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   RegistrierenRegistrieren 
 ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

MP3 Join, Merge, ID-Tagging für Hörbücher

 
Neues Thema eröffnen   Neue Antwort erstellen    AutoHotkey Community Foren-Übersicht -> Skripte & Funktionen
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
ShyGuy



Anmeldedatum: 12.12.2006
Beiträge: 3

BeitragVerfasst am: Mi Dez 13, 2006 10:07 am    Titel: MP3 Join, Merge, ID-Tagging für Hörbücher Antworten mit Zitat

Hallo...

nachdem ich mich dusselig gesucht und doch nichts gefunden habe, habe ich ein kleines Script für die Zusammenfassung und das Tagging von Hörbüchern geschrieben.
Hörbücher sind nach dem Rippen meist in einzelne Kapitel zerteilt, was mir nie so recht gefiel. Da der Creative-Player ausschliesslich nach ID-Tags sortiert und navigiert, war immer wieder viel Handarbeit angesagt.

Das Script erwartet dabei folgende Dateistruktur:
Artist - Album
-cd1 oder irgendwas
--irgendwas tracktitel 01 irgendwas
--irgendwas tracktitel 02 irgendwas
-cd2 oder irgendwas
--irgendwas tracktitel 01 irgendwas
--irgendwas tracktitel 02 irgendwas
--irgendwas tracktitel 03 irgendwas

Wobei Artist der Name des Autors und Album der Titel des Hörbuchs ist.
Wichtig ist hierbei, dass sich die Tracks in den jeweiligen Kapiteln alphabetisch ordnen lassen; was aber eigentlich immer zutrifft.

Um das Script aufzurufen, hätte ich mir ein Kontextmenü im Explorer gewünscht, aber das kommt vielleicht noch. Momentan wird das Script über einen Hotkey aufgerufen. Dazu klickt man im Explorer auf das übergeordnete Verzeichnis, in diesem Fall "Artist - Album" und drückt anschliessend den zugeordneten Hotkey.
Das Script arbeitet jetzt nacheinander alle sich in diesem Ordner befindlichen Verzeichnisse ab und fasst die darin liegenden MP3s zusammen. Die Zusammenfassungen liegen im "Artist - Album".
In einem Verzeichnis muss sich mindestens eine MP3-Datei befinden. Verzeichnisse, wie. z.B.
-cover
--image.jpg
werden übersprungen.

Es werden ID2-Tags geschrieben, was aber auch umgestellt werden kann.
Die Tags im Einzelnen:
Year - 00
Interpret - Artist
Album - Album
Titel - wird fortlaufend durchnummeriert CD01, CD02, CD03, …
Track - wird fortlaufend durchnummeriert 01, 02, 03, …
Musikrichtung - Audiobook

Die erzeugten Dateien werden wie folgt benannt:
CD01 - Album - Artist
CD02 - Album - Artist

Nach dem Start ist das Script autonom - es kann ganz einfach weitergearbeitet werden.

Für die eigentliche Verarbeitung der MP3s sind folgende Freeware-Tools erforderlich:
ID3 - http://home.wanadoo.nl/squell/id3.html
MP3Wrap - http://mp3wrap.sourceforge.net/
Diese müssen sich innerhalb der Suchpfade von Windows befinden, oder man ergänzt das Script wird duch absolute Pfadangaben.

Ich wollte eigentlich den Joiner von MakeitAll.com verwenden, der um Faktor 4 schneller ist, aber der einfache Verzeichnisaufruf von MP3Wrap hat mich dann doch schwach werden lassen. Immerhin läuft das Script ohne Eingaben durch, so dass ich mit eine etwas längeren Abarbeitung leben kann.


Gruß, Stefan


Code:

SetFormat, Float, 0.0
Send, !s
Send, ^c

SplitPath, clipboard, dir
StringGetPos, pos, dir,-
IfEqual, pos, -1
{
  MsgBox, 16, Fehler, Formatierung falsch - Trennstrich fehlt`nArtist - Album
  Exit
}
pos--
StringLeft, artist, dir, %pos%
EnvAdd, pos, 4
StringMid, album, dir, %pos%

FileList =
Loop, %clipboard%\*.*, 2, R
  FileList = %FileList%%A_LoopFileLongPath%`n
Sort, FileList
Loop, parse, FileList, `n
{
  If A_LoopField =
    continue
  IfExist, %A_LoopField%\*.mp3
  {
     StringReplace, int, A_Index, ",, All   ; Integer conversion
     IfLess, int, 10
     {
       TrayTip,Info,processing CD0%A_Index%, 10
       RunWait, mp3wrap "%clipboard%\CD0%A_Index%.mp3" *.mp3, %A_LoopField%, Hide
       FileMove, %clipboard%\CD0%A_Index%_MP3WRAP.mp3, %clipboard%\CD0%A_Index% - %album% - %artist%.mp3
       runwait, id3 -2 -y 00 -a "%artist%" -t "CD0%A_Index%" -l "%album%" -n "0%A_Index%" -g "Audiobook" "CD0%A_Index% - %album% - %artist%.mp3", %clipboard%\, Hide
     }
     Else
     {
       TrayTip,Info,processing CD%A_Index%, 10
       RunWait, mp3wrap "%clipboard%\CD%A_Index%.mp3" *.mp3, %A_LoopField%, Hide
       FileMove, %clipboard%\CD%A_Index%_MP3WRAP.mp3, %clipboard%\CD%A_Index% - %album% - %artist%.mp3
       runwait, id3 -2 -y 00 -a "%artist%" -t "CD%A_Index%" -l "%album%" -n "%A_Index%" -g "Audiobook" "CD%A_Index% - %album% - %artist%.mp3", %clipboard%\, Hide
     }
  }
}
return
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    AutoHotkey Community Foren-Übersicht -> Skripte & Funktionen Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de