ShyGuy
Anmeldedatum: 12.12.2006 Beiträge: 3
|
Verfasst am: Mi Dez 13, 2006 10:07 am Titel: MP3 Join, Merge, ID-Tagging für Hörbücher |
|
|
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
|
|
|