Deine CD-Sammlung als Streaming-Dienst: Eine Anleitung für Ubuntu und Nextcloud
Die eigene CD-Sammlung mit geliebten Schätzen staubt vor sich hin und nimmt Platz weg. Gleichzeitig wünschst Du Dir weniger vom Gutdünken der Streaming-Anbieter abhängig zu sein, die Dir theoretisch jederzeit den Zugang zu Deiner Musik in der Cloud abdrehen können. Wenn das Deine Situation beschreibt, dann habe ich hier eine Anleitung für Dich, mit der Du beide Probleme auf einen Schlag lösen kannst.
Du brauchst dafür einen PC mit CD-Laufwerk, auf dem Ubuntu läuft, die CD-Grabber-Software Asunder, das CD-Tagging Programm EasyTag, gegebenenfalls einen Scanner oder eine Handy-Kamera um die CD-Covers zu digitalisieren, Gimp zum Zuschneiden, eine eigene Nextcloud um die Daten abzulegen und die Android App Symfonium um die Musik auf deinem Handy abzuspielen. Die Software ist größtenteils kostenlos: Asunder, EasyTag und Gimp sind über Ubuntu-Paketverwaltungen verfügbar. Für Ubuntu reicht ein einfacher Windows 7 Laptop wie es sie ab 40 Euro auf kleinanzeigen.de, ebay.de oder willhaben.at gibt.
Die Symfonium-Android-App kostet ca. 5 Euro und ist über Google Play Store sowie FDroid verfügbar. Eine managed Nextcloud-Instanz gibt es bei Hetzner für ca. 5 Euro.
Falls Du neben CDs auch noch alte Kassetten zu Hause hast, dann habe ich einen weiteren Artikel für Dich, mit dem Du die ebenfalls digitalisieren kannst.
Doch nun zum eigentlichen Workflow:
Installation
Führe folgende Befehle im Ubuntu-Terminal aus um die Software zu installieren:
- Asunder:
sudo apt-get install asunder - Passende Audio-Codecs:
sudo apt-get install lame vorbis-tools flac libopus0 wavpackQuelle - EasyTag:
sudo apt-get install easytagQuelle - Gimp:
sudo apt-get install gimpQuelle
Schritt 1: CD-Grabben
Hardware: Laptop mit CD-Laufwerk
Software: Asunder
Workflow:
- Öffne Asunder
- Lege die CD ins Laufwerk
- Asunder erkennt via CDDB selbstständig die Interpreten, Titel und andere Metadaten. Alle Informationen können manuell angepasst werden. Es empfiehlt sich zum Beispiel das Genre anzupassen, um Einheitlichkeit zu gewährleisten. Falls die Daten einmal nicht erkannt werden, können sie manuell nachgetragen werden. Effizienter ist ein KI-gestützter Workflow mit Texterkennung anhand des CD-Covers. Darauf gehe ich später noch ein. In diesem Fall einfach den Albuminterpret und Titel sowie Genre und Jahr ausfüllen. Die Tracks einstweilen auf dem default-Wert lassen.
- Importieren anklicken. Die CD wird jetzt gegrabbt. Unter Einstellungen kann im Reiter „Allgemein” der Zielordner konfiguriert werden, z.B.
/home/<username>/Musik/ingestum einfachen Zugriff über die Ubuntu Dateiverwaltung zu gewährleisten. Außerdem empfiehlt es sich, den Haken bei „CD zum Schluss auswerfen” zu setzen. Dadurch bekommt man mit, wenn der CD-Grab-Vorgang beendet ist. Im Reiter Import kann die gewünschte Qualität eingestellt werden. Das Wav-Format bietet verlustfreie CD-Qualität, eignet sich aber eher zur Langzeitarchivierung als zum Streamen, weil die Dateien 10 mal soviel Speicher benötigen wie mp3. Bei schlechter Internetverbindung ist so kein flüssiges Streamen möglich. MP3 mit 320 kbps ist ein komprimiertes Format, das sich beispielsweise für Musiker, die Tracks sampeln wollen, nicht eignet. Für Streaming ist es aber sehr gut geeignet.
Schritt 2: Daten automatisiert vervollständigen und Cover herunterladen
Software:
- Python-Script „finalize-cd-grab.py” hier downloaden
Workflow:
- Skript „finalize-cd-grab.py” in den Ordner
/home/<username>/Musikkopieren - Skript ausführen. Wenn beim Grabben „mp3” und „wav” als Dateiformate angegeben wurden, dann sind beide Formate gemischt im entsprechenden Albumordner unter „ingest” gespeichert. Das Skript sortiert diese auseinander und kopiert sie in „Musik/mp3” bzw. „Musik/wav” um. Der Albumordner bleibt dabei jeweils erhalten. Außerdem recherchiert das Skript aus der Metadatenplattform Discogs, ob CD-Coverbilder vorhanden sind. Falls ja, werden diese in die jeweiligen Albumordner heruntergeladen. Damit das funktioniert, muss ein Discogs Token als Environmentvariable auf dem jeweiligen Rechner hinterlegt sein.
Zur Erzeugung des Tokens gehe auf www.discogs.com und registriere Dich. Melde Dich dann mit Deinem neuen Login an und gehe auf www.discogs.com/de/settings/developers. Klicke nun auf den Button „Neues Token generieren”. Kopiere das Token, das hinter „Aktuelles Token” angezeigt wird. Speichere das Token als Environmentvariable, indem Du folgenden Befehl ausführst: echo 'export DISCOGS_TOKEN="<token>"' >> ~/.bashrc. <token> dabei durch das kopierte Token ersetzen.
Damit das Script funktioniert, musst Du außerdem einige Python-Bibliotheken installieren:
sudo apt install python3-requests python3-mutagen
Neben dem Umkopieren der Daten und dem Hinzufügen des Covers kümmert sich das Skript auch um die Vergabe des Album-Künstlers im MP3-Tag. Wenn alle Tracks auf dem Album denselben Künstler haben, wird dieser als Albumkünstler gesetzt. Ansonsten wird „Various Artists” als Albumkünstler gesetzt. Das ist wichtig, damit die Alben später korrekt in Symfonium angezeigt werden. Ohne „Various Artists” als Album-Künstler werden später alle Tracks der verschiedenen Künstler als eigene Alben angezeigt.
Schritt 3: Manuelle Kontrolle
Software:
- Dateiverwaltung
- EasyTag
- Bash-Script „match-filenames.sh” hier downloaden
- Gimp
Workflow:
- mp3-Ordner manuell in der Dateiverwaltung durchsehen, ob Cover heruntergeladen wurden. Falls ja, alle weiteren Dateien bis auf das Front-Cover löschen, sonst kann Symfonium durcheinander kommen. Falls nein, online mittels Google-Bildersuche nach Covers suchen und diese in den Albumordner herunterladen. Falls auch das nicht funktioniert, Cover abfotografieren oder scannen und in den Albumordner kopieren. Die fotografierten Covers können mit dem „Rechteckige Auswahl”-Tool von Gimp zugeschnitten werden. Falls die Ausrichtung nicht passt, kann sie mit dem „Drehen”-Tool von Gimp korrigiert werden. Einfach den Winkel anpassen, solange bis Cover und obere Bildschirmkante bündig sind. Dann die Datei mit „Exportieren nach” als jpg in höchster Qualität speichern.
- mp3-Ordner mit EasyTag durchsehen, ob die Mp3-Tags alle korrekt geschrieben wurden und gegebenenfalls anpassen
- Falls sich durch die Anpassungen Änderungen an den Dateinamen der mp3-Dateien ergeben, match-filenames.sh ausführen, um diese Änderungen auch für die Wav-Dateien zu übernehmen.
Schritt 4: Nachbearbeitung von CDs ohne CDDB-Eintrag
Software:
Workflow:
- CD-Trackliste abfotografieren
- LLM im Browser öffnen, z.B. chatgpt.com oder claude.ai. Mit letzterem habe ich die besten Erfahrungen
- Bild der Trackliste hochladen.
- Folgenden Prompt ausführen: „Please transcribe the text in the attached image to create a tracklist”. Trackliste wird erzeugt.
- Trackliste prüfen und ggf. Änderungen prompten
- Einzelne Titel in EasyTag kopieren, dann die Funktion „Scanner > Datei umbenennen” verwenden, um Dateinamen aus den Tags zu erzeugen.
- Mit der Windowssoftware „Mp3tag” lassen sich Textdateien mit Metainformationen importieren, was den Prozess weiter vereinfacht. Da es hier nur um Ubuntu gehen soll, überspringe ich das.
Schritt 5: Nextcloud-Upload
Software: Nextcloud, Dateimanager
Workflow:
- Die persönliche Nextcloud im Browser öffnen
- Dateien aus dem Ordner „mp3s” hochladen, z.B. in „Symfonium/CDs-mp3”
- Dateien aus dem Ordner „wavs” hochladen, z.B. in „Musik/CDs-wavs”. Achtung, nicht in Symfonium hochladen, sonst werden die Alben in der App doppelt angezeigt
Schritt 6: Subsonic Setup
Software: Nextcloud, Symfonium
Workflow:
- Als Admin bei Nextcloud einloggen und im Benutzermenü zu „Apps” navigieren
- Mit dem Suchicon die Suche öffnen und nach „Music” suchen
- Die App installieren, falls noch nicht geschehen
- Die App durch Klicken auf das Notensymbol in der Toolbar öffnen
- Unten links auf „Einstellungen” klicken
- Herunterscrollen bis zum Bereich „Ampache und Subsonic”. Dort steht die Subsonic Url, die für den nächsten Schritt benötigt wird
Schritt 7: Symfonium Setup
Software: Symfonium
Workflow:
- Symfonium App aus Google Play- oder FDroid-Appstore installieren
- App öffnen. Manage settings > Media sources: Add media source ausführen.
- Subsonic auswählen und Url aus Schritt 6 eingeben
- ggf. einloggen
- Symfonium ist jetzt für die Wiedergabe konfiguriert und das Handy sollte automatisch die Metadaten aus der Nextcloud synchronisieren. Bei der Wiedergabe werden die Daten aus der Nextcloud gestreamt, so dass auf dem Handy kein Speicherplatz für die Ablage der ganzen Mp3-Bibliothek gebraucht wird.
Viel Spaß beim Streamen!