Artikel
Ich bin ein leidenschaftlicher Hörbuchfreund und wandle auch schon das eine oder andere mal die CDs in MP3s um. Seit bald 2 Jahren nenne ich einen iPod classic mein Eigen und möchte natürlich auch dort die Hörbuch-Funktion nutzen. Diese verlangt allerdings Dateien im M4B-Format, welches im Grunde das gleiche ist wie M4A. Der Unterschied besteht darin, dass M4Bs auch sogenannte Bookmarks zulassen. Dabei handelt es sich um Zeitstempel innerhalb einer Datei, die mit einem Titel versehen werden können. Im Apple-Universum wird dazu Chapter oder zu Deutsch Kapitel gesagt. Jeder, der über iTunes schon mal ein Hörbuch gekauft und angehört hat, wird das Kapitelmenü bemerkt haben. Nun hat der begeisterte Nutzer die Möglichkeit, seine Hörbücher noch mal in einer M4B-Variante zu erwerben oder er greift zu einem Stück Software, das die vorliegenden MP3s in eine M4B konvertiert. Als Mac-Benutzer gibt es meines Wissens zwei Werkzeuge, die sich dafür eignen. Das eine nennt sich Audiobook Builder und ist eine kommerzielle Software, die sich für momentan EUR 8,10 von dem kleinen aber feinen Softwarehersteller Splasm beziehen lässt. Klein und fein ist nicht nur der Hersteller, denn die Software kann sowohl Titel aus iTunes, einzelne Dateien und auch direkt von CDs M4B-Dateien erstellen. In der kostenlosen, ohne Registrierung herunter zu ladenden, Testversion kann ein maximal 20-minütiges Hörbuch erstellt werden. Besonders gut gefällt mir die Möglichkeit, mehrere Dateien zu einem Kapitel zusammen zu fügen. Das kann praktisch sein, falls man sich nicht an die Trackaufteilung des Verlags halten möchte. Für jeden, der nicht viel darüber nachdenken möchte, wie er nun sein Hörbuch in eine M4B-Datei bekommt, sei dieses Tool wärmstens empfohlen. Wer nun aber, so wie ich oft auch, knauserig ist und selbst die EUR 8,10 nicht ausgeben möchte, kann zu einem kostenlosen Tool namens Audiobook Maker greifen. Hinter dem sehr kreativen Namen, der bestimmt den einen oder anderen die beiden Tools verwechseln lässt, steckt eine grafische Oberfläche, die einige Unix-Programme oder auch -Kommandos im Bauch hat. Der Benutzer kann bereits ausgelesene MP3-Dateien in einer Liste anordnen. Deren Namen sind die Vorlage für die späteren Kapitelnamen, welche aber natürlich vor der Konvertierung angepasst werden können. Vor dem Starten der Konvertierung fragt die Applikation noch nach dem Buchtitel und Autor. Diese Angaben werden meiner Erfahrung nach nicht bei der Einbindung der entstandenen M4B-datei in iTunes übernommen. Woran das liegt, konnte ich bis jetzt noch nicht herausfinden. Was ich aber heraus finden konnte, ist, dass die Einteilung in Kapitel mit Benennung sehr wohl funktioniert. Allerdings gibt es in der offiziell ausgelieferten Version auch ein Problem mit Umlauten und Sonderzeichen. Dies habe ich jedoch behoben und stelle die verbesserte Version auch gerne zur Verfügung. Eine kurze Mail an mich oder ein Kommentar zu diesem Artikel genügt. Während der Benutzer die Fortschrittsanzeige sieht, werden die einzelnen MP3-Dateien zu einer zusammen gelegt und diese in eine aac-Datei konvertiert. Die einzelnen Spiellängen der MP3s werden zum Setzen von Kapitelpunkten benutzt. Die fertig konvertierte Datei befindet sich auf dem Schreibtisch, benannt nach dem angegebenen Buchtitel. Bug bei Umlauten Für alle, die noch wissen wollen, was am am Quellcode geändert habe, damit die Konvertierung inklusive Umlauten in den Kapitelnamen richtig funktioniert, hier eine kleine Erklärung: In Zeile 542 wird der Hauptteil der XML-Datei geschrieben, die dem ChapterTool (ein Kommando, was von Apple 2005 in einer Beta-Version raus gegeben wurde) übergeben wird, um die Bookmarks zu setzen. Hier wird aber nicht, wie im XML-Prolog angegeben, UTF8 als Encoding verwendet, sondern standardmäßig Mac Roman. Bei Kapiteln ohne Umlaute schluckt es das ChapterTool noch, mit Umlauten streikt es aber. Mit meinen mehr als dürftigen Objective-C-Kenntnissen habe ich die Zeile 542 angepasst, dass er nun tatsächlich UTF8 raus schreibt: [[timeHolder objectForKey:@"bookmarkXML"] writeToFile:[NSString stringWithFormat:@"%@/Desktop/.AudioBookMakerChapters.xml",NSHomeDirectory()] atomically:NO encoding:NSUTF8StringEncoding error:NULL];

