Spotify-Playliste in mp3-Dateien splitten

Es gibt Dienste, die aus einer (Spotify)-Playlist einzelne mp3-Dateien machen. Problematisch ist – zumindest für mich – dass man diesen Diensten (simfy usw.) seine Zugangsdaten für Spotify geben muss. Mit Audacity, einem Skript und ggf. ein wenig Handarbeit geht’s aber auch ohne Cloud & Co.

Bilderstrecke:

Zunächst erzeugt man sich eine neue Playlist. Oder sucht sich eine bestehende. Wichtig ist der Playlist-Link, den Spotify anbietet (Rechtsklick).

Den fügt man in seinen Browser ein. Anschließend wird diese Webseite gespeichert.

Nach dieser Vorbereitung Audacity starten. Als Host „WASAPI“ wählen. Aufnahme drücken. Im Hintergrund dann die Playlist abspielen. Es macht keinen Unterschied, ob das im Browser oder in der App selbst passiert. Über die WASAPI-Schnittstelle wird Windows angewiesen, die Soundausgabe nur über diese Applikation zuzulassen (damit kein Incoming-Mailgedüdel etc. in die Aufnahme kommt). Obwohl beim Loopback-Recording nicht analog ausgespielt und aufgezeichnet wird (das passiert schon über ein internes Routing im Computer), verwende ich prinzipiell den Kopfhörerausgang als Output. Dadurch ist das Ausgangsignal immer als Stereosumme definiert. (Kopfhörer = links+rechts). Ansonsten kann die Soundkarte je nach Treiber versuchen, ihr eigenes Ding zu drehen und 4 oder mehr Kanäle auszugeben.

Audacity zeichnet die Aufnahme aus der Playlist dann als eine einzige „Audiowurst“ auf. Geht erstmal nicht anders. Das Programm kann diese Aufnahme aber auch wieder in die einzelnen Tracks unterteilen. Dazu lässt man es über „Stille finden“ die Pausen zwischen den Liedern suchen (Pause = Pegel unter einem bestimmten Schwellenwert). Audacity setzt an den Fundstellen dann jeweils eine Textmarke.
Je nach Liedmaterial muss man hier ein bisschen fummeln bei der Länge der Stille. Beim „Sommerhits“-Beispiel sind die Lieder von der Dynamik her recht gleich aufgebaut. Sehr unwahrscheinlich, dass da bei der modernen komprimierten Musik mal ein paar Sekunden Still innerhalb eines Liedes wären. Im Endeffekt (und Idealfall) soll Audacity eine Textmarken weniger erzeugen, als Tracks in der Playlist sind.

Man sieht ja schon anhand der Abstände, ob die automatische Erkennung sinnvoll gearbeitet hat. Die erzeugte Textmarken-Spur muss man dann exportieren. Am besten in denselben Ordner, in dem schon die Spotify-Playlist-Webseite gespeichert ist.

Jetzt liegen dort zwei Dateien: Die gespeicherte Webseite als html-Datei und die Textmarken-Datei. Danach kommt das „Zusammenfügen“ der Inhaltsinformationen aus beiden Dateien. Dazu habe ich mir ein kleines Skript geschrieben. Es liest einfach die Playlist-Datei von Spotify ein und schaut nach den „PLAY“-Zeilen. Im folgenden Abschnitt beginnt damit ein neues Lied. Den Liednamen speichert das Skript in einem Array. Anschließend liest es die Audacity-Textmarken-Datei ein und ersetzt die Standardmarker „S“ durch das Lied an der jeweiligen Position aus dem Array. Zum Schluss wird diese Liste für Audacity in eine neue Textspur-Datei geschrieben.

Die neue Liste mit den Liednamen wird in Audacity als Textspur diesmal importiert.

Zu guter Letzt kann man sich jetzt – ebenfalls ein Feature von Audacity, eigentlich für die CD-Erstellung gedacht – die unterteilte Aufnahme mit Hilfe der Marker schön als einzelne mp3s rendern und exportieren lassen. Dann steht der Name des Liedes in den neuen Dateien in den Metadaten. Also an der Stelle, wo die Player es auch erwarten/anzeigen.

Todo: ggf. noch den Namen des Interpreten extrahieren und als Tag in den mp3 schreiben.