Zufällige Playliste unter Linux erstellen

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.

Über den Autor

Falk Döring
Falk ist der Gründer von stubenradio.de. Einige Jahre war er Moderator und stellvertretender Sendeleiter in verschiedenen Webradios und kennt das typische Auf und Ab. Eines Tages hatte er die Nase voll und hörte auf zu moderieren. In diesem Blog veröffentlicht er seine Erfahrungen, gibt einen Blick hinter die Kulissen und gibt Tipps und Tricks rund um das Thema Webradio.

2 Kommentare

  1. Thomas

    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

    Antworten
    1. Falk Döring (Beitrag Autor)

      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

      Antworten

Schreiben Sie einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.