Die HiFi-Welt von AUDIO und stereoplay
CD-Archivierung

AUDIO Rip-Robot: Die Entstehung

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. 

© Screenshot / Montage: audio

Das Herz des AUDIO Rip Robot ist ein Skript in der Programmiersprache Python. Es stammt aus der Feder von Martin O’Hanlon, einem Raspberry-Pi-Fan aus Irland. Wir haben vom ihm die Erlaubnis, den unter Open-Source-Lizenz stehenden Quellcode zu modifizieren und weiterzugeben. Im Bild markiert ist die wichtige Zeile, die das Ripping-Tool „RipIt“ aufruft.

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?

© Screenshot / Montage: audio

Der AUDIO Rip Robot speichert die FLAC-Dateien zunächst in einem temporären Verzeichnis auf der internen Micro-SD-Karte und kopiert sie nach jeder CD auf den USB-Stick um. Das temporäre Verzeichnis wird erst wieder gelöscht, wenn Sie den Rip Robot herunterfahren. Um Platzprobleme zu vermeiden, sollten Sie ihm also nach jeweils 20 gerippten CDs eine kurze Pause gönnen.

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.

Mehr zum Thema

Google Cloud, iCloud, OneDrive, Dropbox

Dateien, Fotos und mehr landet in der Cloud. Das ersetzt aber kein Backup. So sichern Sie bei Apple, Dropbox, Google und Microsoft gespeicherte Daten.
Galaxy, Pixel & Co.

Das Rooten eines Android-Gerätes ist oft der einzige Weg zu neuen Updates. Wir zeigen Ihnen das Prinzip, nach dem das Rooting funktioniert.
Aktuelle Nachrichten

Wir geben einen kurzen Überblick zu aktuellen Nachrichten. Wir fassen Meldungen zu Smartphones, Apps, Tablets, Kopfhörer und andere Kategorien…
App-Mediathek, Widgets und mehr

Apple hat das neue Betriebssystem iOS 14 veröffentlicht. Wir zeigen Ihnen die Neuerungen und werfen dabei auch einen Blick auf iPadOS 14.