MP3-Playlisten (.m3u) in eine Excel-Datei schreiben

Ich stelle mir gerne MP3-Sampler auf CD zusammen. Auf solch eine CD passen rund 120 Titel. Nun möchte ich natürlich auch gerne die Titel auf dem CD-Cover haben, damit ich die Titel auch schön auswählen kann.

Eine durch einen Artikel von Michael Schilli im Linux-Magazin (Perl-Snapshot Ausgabe 3/2002) bin ich dann auf die entsprechende Lösung gekommen die Playlisten einfach in das Excel-Format zu schreiben und damit die Cover auszudrucken.

benötigte Module

Es kommen zwei Perl-Module aus dem CPAN zum Einsatz:

MP3::Tag
Mit diesem Modul lassen sich die ID3-Tags aus den MP3-Dateien extrahieren.
Spreadsheet::WriteExcel
Mit diesem Modul werden die ID3-Tags in der Reihenfolge aus der Playlist in eine Excel-Datei geschrieben, die sich dann mit OpenOffice öffnen und ausdrucken lässt.

Programmablauf

Das Programm ist eigentlich sehr einfach gestrickt:

  1. zuerst wird eine Playlist eingelesen (.m3u), die die Pfade zu den MP3-Dateien enthält.
  2. dann werden die Dateinamen und ggf. Pfade aus der Playlist herausgelesen und in ein Array geschrieben
  3. werden die Dateien nacheinander geöffnet und durch das Modul MP3::Tag "gejagt", um an die Tags "artist" und "title" zu kommen.
  4. die Tags werden dann in der Reihenfolge der Playlist in eine Excel-Tabelle geschrieben.

MP3::Tag

Das Modul kann mittels "perl -MCPAN -e 'install MP3::Tag" installiert werden.

Die Beschreibung des Moduls ist unter http://search.cpan.org/author/THOGEE/tagged-0.40/Tag.pm zu finden.

Spreadsheet::WriteExcel

Das Modul kann mittels "perl -MCPAN -e 'install Spreadsheet::WriteExcel" installiert werden.

Die Beschreibung des Moduls ist unter http://search.cpan.org/author/JMCNAMARA/Spreadsheet-WriteExcel-0.42/WriteExcel.pm zu finden.

Programmaufruf

Das Script hat lediglich zwei Optionen:

Der Aufruf erfolgt per perl m3u2xls.pl <Playlist> <Excel-Datei>, wobei zu beachten ist, daß die Playlist im .m3u-Format vorliegt und die Excel-Datei auf .xls endet.

Ergebnis

Aus der vorliegenden Playliste (links) wird dann eine schöne Excel-Tabelle mit insgesamt 8 Spalten, in der passenden CD-Cover-Größe (rechte Abbildung).

Jeweils 4 Spalten (Nr., Titel, Nr. Titel) mit 41 Zeilen passen auf eine Seite des CD-Covers. Somit lassen sich MP3-Playlisten mit bis zu 164 Titeln auf dem Cover unterbringen.

An der Trennlinie in der Mitte der Tabelle (nach 4 Spalten) kann die Tabelle einfach gefaltet werden.:

Vorher / Nachher
playlist.m3u output.xls
[...]
044_Type_O_Negative-Christian_Woman.mp3
045_Theatre_Of_Tragedy-A_Rose_For_The_Dead.mp3
046_The_Mission-Wasteland.mp3
047_Marilyn_Manson-Coma_White.mp3
048_Subway_To_Sally-Wenn_Engel_Hassen.mp3
049_Rage_Against_The_Machine-The_Ghost_of_Tom_Joad.mp3
050_The_Sisters_Of_Mercy-Temple_Of_Love.mp3
051_Die_Happy-Supersonic_Speed.mp3
052_H-Blockx-Fly.mp3
053_Papa_Roach-Life_Is_A_Bullet.mp3
054_A-Nothing.mp3
055_Puddle_Of_Mudd-Control.mp3
056_Silverchair-Findaway.mp3
057_Korn-Thoughtless.mp3
058_POD-Set_It_Off.mp3
059_Farmer_Boys-The_Good_Life.mp3
[...]
(auf den Ausschnitt klicken um die ganze Tabelle zu sehen)Screenshot Excel-Datei

Download

Das Script steht hier direkt zum Download zur Verfügung:

m3u2xls.pl


© 2003, Martin Holz <martin@martinholz.de>