Wozu gibt es Computer? Einerseits um Dir das Leben schwerer zu machen, andererseits um es Dir zu erleichtern. Heute habe ich einen kurzer Tipp für Dich, wie Du Dir vom Computer eine zufällige Playliste generieren lassen kannst.
Worum es geht
Dateien werden vom Computer meistens nach Namen sortiert. Packst Du eine Menge von MP3-Dateien in einen Player, werden diese meist Alphabetisch abgespielt. Das ist natürlich nicht wünschenswert. Viele Player unterstützen zwar eine Sortierung der Titel nach Zufall, doch das kostet gelegentlich zu viele Klicks. Wie einfach wäre es, wenn der Computer eine zufällige Playliste erstellt und Du diese nur noch in Deinen Player laden musst.
Ich zeige Dir, wie Du unter Linux eine solche Liste erstellen kannst.
Finden und Sortieren
Es gibt viele Standards für Playlisten. Einer ist eine Text-Datei mit der Dateiendung m3u. In dieser steht pro Zeile der Pfad zu einer Datei. Eine solche Liste kannst Du ganz einfach mit den Befehlen find
und sort
selbst erstellen. Zunächst wechselst Du auf der Konsole in das Verzeichnis, in dem Du Deine MP3-Dateien liegen hast. Dort führst Du folgenden Befehl aus.
find `pwd` -iname "*.mp3" -print | sort -R > TrackList.m3u
Eine kurze Erklärung der Befehle: find `pwd`
sucht alle Dateien, die im aktuellen Verzeichnis und Unterzeichnissen liegen. Da wir absolute Pfade haben möchten, schreibe ich mit pwd
, das ab dem aktuellen Verzeichnis gesucht werden soll. Würde ich nur einen Punkt schreiben, würde vor den Pfaden auch nur der Punkt stehen. Bitte beachtet die Backticks! Diese werden von der Shell interpretiert, was hier für die Umwandlung in einen absoluten Pfad notwendig ist.
Der Parameter -iname "*.mp3"
sorgt dafür, dass nur MP3-Dateien gefunden werden. Dabei wird nicht zwischen Gruß- und Kleinschreibung der Dateinamen unterschieden. Eine Datei file.MP3 wird genauso gefunden wie eine file.mp3. Nutzt Du andere Musik-Formate, musst Du das entsprechend anpassen. Mit -print werden die kompletten Pfade der Dateien ausgegeben.
Mit dem Pipe-Zeichen wird das Ergebnis an das Programm sort
übergeben. Mit dem Parameter –R
sorgt sort
dafür, dass die Liste per Zufall sortiert wird. Das Ergebnis wird nun in die Datei TrackList.m3u
geschrieben.
Ergebnis
Das Ergebnis ist eine Datei mit Pfaden zu Deiner Musik. Bei vielen Musikplayern kannst Du beim Öffnen über die Kommandozeile eine Datei mitgeben. Die Dateien werden nun in der Reihenfolge geladen und abgespielt, wie sie in der m3u-Datei stehen.
Dies alles kannst Du natürlich mit einem Shell-Script automatisieren. Sehr Interessant wird das beim Einsatz eines AutoDJs.
Ich hoffe, der kleine Tipp hilft euch an irgendeiner Stelle etwas Arbeit abzunehmen.
Hallo
Bestechend einfach – gefällt mir
habe das ganze kopiert und im Terminal den Ordner aufgerufen und direkt mit enter ausgeführt -> find `pwd` -print „*.mp3“ | sort -R > TrackList.m3u
Es folgt die Fehlermeldung
find: Der Pfad muß vor dem Suchkriterium stehen: *.mp3
Da ich noch Linuxeinsteiger bin, ist mir nicht klar wo der Fehler liegt
(Für eine sortierte Liste sort -R weglassen?)
Thomas
Hallo Thomas,
du hast recht. Es hat sich ein kleiner Fehlerteufel eingeschlichen. Ich habe das Find-Kommando angepasst.
Das sort kannst du weglassen, wenn du die Reihenfolge haben möchtest, in der find die MP3-Dateien gefunden hat.
Viele Grüße,
Falk