CD-Archivierung
AUDIO Rip-Robot: Die Entstehung
- AUDIO Rip-Robot: CD-Ripper für Jeden
- AUDIO Rip-Robot: Die Entstehung
- AUDIO Rip-Robot: Titelnamen Abfrage, Rückmeldung & Kühlung
- AUDIO Rip-Robot: Image auf Micro-SD installieren & Hardware
- AUDIO Rip-Robot: Weitere Infos & Fazit
Die Entstehung
Es war viel Arbeit nötig, um den Raspberry Pi so zu programmieren, dass aus ihm der AUDIO Rip Robot wird. Das Projekt basiert auf einem Programm in der Skriptsprache „Python“ von Martin O’Hanlon aus Irland.
Mr. O’Hanlon hat den Quellcode des Projekts dankenswerterweise als Open Source freigegeben, sodass wir ihn für unsere Zwecke anpassen konnten. Zunächst haben wir alle Textausgaben ins Deutsche übersetzt, damit man besser verfolgen kann, was die Software gerade macht. (Das können Sie auch, indem Sie einfach einen PC-Monitor über HDMI mit dem Raspberry Pi verbinden.)
Doch mit der Übersetzung allein war es nicht getan, denn O’Hanlons Programm zeigte einige Einschränkungen, die wir aufheben wollten. Da war zuerst das Problem, dass das Skript keine FLAC-, sondern MP3-Dateien erzeugt – für uns als audiphile Musikliebhaber natürlich nicht tragbar.

Zum Glück ließ sich das schnell ändern, denn die eigentliche Ripping-Software „RipIt“, die vom Python-Skript augerufen wird, kann FLAC-Dateien erzeugen. Wir mussten statt des MP3-Codecs nur den FLAC-Codec installieren und anschließend die Übergabeparameter an RipIt im Skript ändern.
Das klappte prima! Dann die nächste Hürde: Das Originalskript speichert die Musikdateien auf der internen Micro-SD-Karte des Raspberry Pi. Das ist ungünstig, denn die winzige Micro-SD jedesmal zu entnehmen und in einen USB-Kartenleser zu stecken, erschien uns als zu unkomfortabel.
Der AUDIO Rip Robot sollte die Daten direkt auf einem USB-Stick speichern. Die Installation der passenden Treiber, damit der Raspberry Pi USB-Speicher grundsätzlich erkennt und ins System einbindet, war schnell erledigt, und als Ziel für die Audiodaten wählten wir im Skript flott den USB-Stick aus.
(Tipp: Schließen Sie nur einen USB-Stick an – der AUDIO Rip Robot speichert immer auf dem ersten USB-Stick, den er findet). Doch dann stellen wir fest, dass der Rip-Vorgang auf den USB-Stick quälend langsam wurde. Ein CD-Rip dauerte teilweise über 30 Minuten – inakzeptabel. Doch warum war das so?

Wir forschten nach und entdeckten: Raspbian (so heißt das Betriebssystem des Raspberry Pi) speichert Daten auf USB-Medien grundsätzlich mit einer Sicherheitsfunktion. Jeder geschriebene Block wird gleich wieder gelesen, und es wird verglichen, ob die Daten korrekt geschrieben wurden.
Das dauert – und in der Zwischenzeit langweilt sich das CD-Laufwerk und fährt die Drehzahl herunter. Dann muss es wieder langwierig anfahren, um den nächsten Block zu holen, was zusätzliche Zeit kostet. Zum Glück kann man diese Sicherheitseinstellung im Raspbian in einer bestimmen Konfigurationsdatei abschalten.
Schon lief das Ripping auf den USB-Stick deutlich schneller, aber immer noch nicht zufriedenstellend. Außerdem trat nun ein weiteres Ärgernis auf: Zog man den Stick kurz nach einem CD-Rip ab, waren die Daten noch gar nicht auf dem Stick. Er blieb leer!
Um diese beiden Probleme zu lösen, entschlossen wir uns, alle FLAC-Dateien zunächst in ein temporäres Verzeichnis auf die interne Micro-SD des Raspberry Pi zu schreiben und sie erst nach jeder gerippten CD auf den USB-Stick umzukopieren.
Dazu ruft das Python-Skript wiederum ein Unix-Shellskript auf, das die Daten mit dem sogenannten rsync-Befehl auf den USB-Stick überträgt. Das geht flott, und das CD-Laufwerk ist zu diesem Zeitpunkt ja schon fertig mit dem CD-Rippen.