Archiv für Juni 2012

mp3-Dateien kürzen

So eben stand ich vor der Aufgabe, rund 100 mp3-Dateien um die ersten 20 Sekunden zu kürzen. Ein bisschen Recherche mit den Suchmaschinen dieser Zeit führte mich auf einen Beitrag auf go2linux.org. Dort wird für eine solche Aufgabe mp3cut empfohlen. Ein kurzer Blick in die manpages zu diesem kleinen Kommandozeilen-Programm, die ich auf digipedia.pl fand, ließ vermuten, dass es sich um das richtige Mittel für meine Aufgabe handeln würde.

Die Installation gestaltete sich gewohnt einfach, da sich mp3cut als Bestandteil des Paketes poc-streamer in den Ubuntu-Quellen befindet. Ein einfaches

sudo apt-get install poc-streamer

zaubert das Programm auf die Platte. Nun lässt sich, wie in den manpages vermerkt, mittels

mp3cut -o AUSGABEDATEI.mp3 -t 00:00:20+000- EINGABEDATEI.mp3

eine mp3-Datei entsprechend kürzen. Hinter dem Bindestrich, der auf die drei Nullen im obigen Beispiel folgt, kann noch eine exakte Endzeit angegeben werden. Wenn diese wie hier einfach frei gelassen wird, wird der Datei nur der Anfang weg geschnitten.

Nun hatte ich leider nicht nur eine Datei, sonder knapp einhundert. Doch auch dieses Problem lässt sich in der Konsole mit ein bisschen BASH-Kenntnissen leicht beheben. Im wesentlichen wollen wir das Programm mp3cut ja lediglich anweisen, den oben eingegebenen Befehl nicht nur einmal aus zu führen und somit nur eine Datei zu verändern, sonder auf alle Dateien an zu wenden. Der Befehl dazu sieht wie folgt aus:

for file in *; do mp3cut -o kurz_"$file" -t 00:00:20+000- "$file"; done

Die getroffene Anweisung lautet: alle Dateien im Ordner mittels mp3cut um 20 Sekunden zu kürzen und unter dem alten Namen ergänzt um das Prefix „kurz_“ ab zu legen.

Im Normalfall sollte dies Tadellos funktionieren. Leider war die Qualität meiner mp3-Dateien so miserabel, dass mp3cut die Kürzung einiger Dateien mit dem Kommentar

Broken frame, skipping…
Frame has reserved windowing type, skipping…
Max sync exceeded: 4002
Error reading from EINGABEDATEI.mp3

quittierte und sich außer Stande sah diese zu Beschneiden. Hier half am Ende nur noch ein Resampling und ein Erzwingen die ISO-Vorgaben für mp3-Dateien ein zu halten. Beides erledigt lame mit Bravur. Sollte lame noch nicht auf dem Rechner installiert sein, erledigt das apt:

sudo apt-get install lame

Mittels lame können nun einzelne Dateien mit den oben beschrieben Verfahren „repariert“ werden. Dazu lässt sich folgender Befehl verwenden:

lame --strictly-enforce-ISO --resample 44.1 EINGABEDATEI.mp3 AUSGABEDATEI.mp3

Da in meinem Fall über 85% von den zu kürzenden Dateien nicht beschnitten werden konnten, führte ich den Befehl wieder verpackt in einer BASH-Anweisung aus, so dass gleich alle Dateien „repariert“ wurden. Der Befehl lässt sich analog zu dem oben gewählten konstruieren:

for file in *; do lame --strictly-enforce-ISO --resample 44.1 "$file" neu_"$file"; done

Die so „reparierten“ Dateien ließen sich jetzt widerstandslos beschneiden.

PS: Mein kleiner Notizzettel hat es in den Planeten von ubuntuusers.de geschafft. Was für eine Ehre. Da ich meinen Blog wirklich eher wie einen Notizzettel betrachte, habe ich die Kommentar-Funktion für die dort veröffentlichten Beiträge deaktiviert. Wenn ihr Anmerkungen oder Fragen habt, könnt ihr mich aber auch ohne Kommentar-Funktion erreichen. Welche Kanäle ihr dafür benutzen könnt, ist auf der Kontakt-Seite vermerkt.