ubuntuusers.de

Hinweis: Dies ist ein statischer Snapshot unseres Wikis vom 25. März 2013 und kann daher nicht bearbeitet werden. Der aktuelle Artikel ist unter wiki.ubuntuusers.de zu finden.

Rubyripper

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

logo.png Rubyripper {en} ist eines von vielen Programmen, mit dem sich Audio-CDs auslesen und auf die Festplatte kopieren lassen. Im Gegensatz zu seinen Artgenossen, setzt Rubyripper jedoch konsequent auf ein möglichst akkurates Kopieren. Hierbei greifen aufwändige Maßnahmen zur Fehlererkennung und -korrektur. Der Entwickler orientiert sich an Exact Audio Copy (EAC), welches in der Windowswelt als Non plus ultra unter den CD-Rippern gilt.

Wie bei ziemlich allen CD-Rippern unter Linux dient auch Rubyripper cdparanoia {en} als Grundlage.

Hinweis:

Die Entwicklung von Rubyripper befindet sich momentan im Umbruch, wodurch die Software stellenweise noch unausgereift ist. Siehe Notes about the master branch {en} und TestingTeam {en} (Stand: Nov. 2011).

Hintergrund

Generelles

Das Lesen von optischen Medien (wie eben Audio-CDs) ist ein äußerst störanfälliger Vorgang. Der Laser wird nicht nur von offensichtlichen Dingen wie Kratzern oder Verschmutzungen auf der Oberfläche der Discs abgelenkt, sondern selbst von kleinsten Staubpartikeln in der Luft. Lesefehler treten also sowieso auf, die Frage ist nur, wie schwerwiegend diese sind. Verschlimmert wird die Situation zusätzlich durch die Tatsache, dass der Audio-CD-Standard nur rudimentäre Möglichkeiten zur Fehlererkennung bietet.

Maßnahmen

Das Vorgehen von Rubyripper gliedert sich in zwei Schritte: Der erste Schritt dient der Fehlererkennung. Hierbei wird mindestens zwei mal ein Abbild der gesamten Disc bzw. der gewählten Spuren erstellt. Anschließend werden die Abbilder miteinander verglichen. Gibt es Stellen, an denen sie sich unterscheiden, traten genau dort Lesefehler auf. Im zweiten Schritt wird versucht, die aufgetretenen Fehler zu korrigieren. Dabei werden weitere Kopien erstellt, in der Hoffnung, das der Laser diesmal nicht- oder zumindest weniger stark gebrochen wird. Anschließend werden die problematischen Stellen in allen Abbildern nochmals verglichen. Wurde die vorausgesetzte Anzahl an identischen Kopien erreicht, gilt der Fehler als korrigiert. Gelang dies nicht, wird jenes Abbild behalten, dass die wenigsten Abweichungen zu den anderen aufwies.

Ärgerlicherweise ist es nicht möglich, einfach nur die problematischen Stellen erneut zu kopieren, da bei kleinen Datenmengen die Gefahr besteht, dass das Laufwerk stillschweigend auf seinen Zwischenspeicher zugreift, statt die Disc noch einmal zu lesen.

Installation

Rubyripper befindet sich nicht in den offiziellen Paketquellen. Daher muss entweder eine Fremdquelle verwendet oder das Programm selbst aus dem Quelltext übersetzt werden. Möchte man ein Cuesheet erstellen, wird noch folgendes Paket benötigt [1]:

  • cdrdao (optional)

Wiki/Vorlagen/Installbutton/button.png mit apturl

Paketliste zum Kopieren:

sudo apt-get install cdrdao 

sudo aptitude install cdrdao 

PPA

Es steht ein Fremdquelle zur Verfügung. Dazu schaltet man das "Personal Package Archiv" (PPA) [2] von Brandon Snider als Paketquelle frei.

Adresszeile zum Hinzufügen des PPAs:

  • ppa:brandonsnider/ruby-ripper

Hinweis!

Zusätzliche Fremdquellen können das System gefährden.


Ein PPA unterstützt nicht zwangsläufig alle Ubuntu-Versionen. Weitere Informationen bietet die Wiki/Vorlagen/PPA/ppa.png PPA-Beschreibung vom Benutzer/Team brandonsnider.

Damit Pakete aus dem PPA genutzt werden können, müssen die Paketquellen neu eingelesen werden.

Nach dem Aktualisieren der Paketquellen kann das folgende Paket installiert werden:

  • rubyripper (ppa)

Wiki/Vorlagen/Installbutton/button.png mit apturl

Paketliste zum Kopieren:

sudo apt-get install rubyripper 

sudo aptitude install rubyripper 

Nach erfolgreicher Installation findet man das Programm bei Ubuntu-Varianten mit einem Anwendungsmenü unter "Multimedia -> Rubyripper" oder "Unterhaltungsmedien -> Rubyripper". Ansonsten gibt man den Programmnamen in der Dash ein.

Manuell

Bei dieser Art der Installation ist die Oberfläche von Rubyripper auf Englisch, da ein Fehler {en} in der aktuellen Version 0.6.2. das Aktivieren der Übersetzungen verhindert.

Um die aktuellste Version manuell zu kompilieren [3] und anschließend mit vollem Funktionsumfang nutzen zu können, werden folgende Pakete benötigt:

  • cd-discid

  • cdparanoia

  • cdrdao

  • flac

  • lame

  • mp3gain

  • normalize-audio

  • ruby-gnome2

  • ruby

  • sox

  • vorbisgain

Wiki/Vorlagen/Installbutton/button.png mit apturl

Paketliste zum Kopieren:

sudo apt-get install cd-discid cdparanoia cdrdao flac lame mp3gain normalize-audio ruby-gnome2 ruby sox vorbisgain 

sudo aptitude install cd-discid cdparanoia cdrdao flac lame mp3gain normalize-audio ruby-gnome2 ruby sox vorbisgain 

Der Quelltext findet sich auf der Projektseite. Nachdem dieser entpackt [4] wurde und man mit dem Terminal [5] in dessen Verzeichnis gewechselt hat, sollte das configure-Skript mit folgenden Optionen ausgeführt werden:

./configure --enable-gtk2 --enable-cli 

Hierbei wird sowohl der GTK- als auch der Shell-Client kompiliert. Ersteres sollte in aktueller Version (0.6.2) immer aktiviert werden, da einige Optionen noch nicht über den Shell-Client konfiguriert werden können. Abschließend kompilieren und installieren [5]

Verwendung

Kommandozeile

Der Shell-Client enthält einen speziellen Anfänger-Modus, bei dem der Benutzer mit Fragen und Hinweisen durch den Prozess geführt wird. Der Befehl dazu lautet:

rrip_cli -v 

Die einzelnen Optionen werden im folgenden Abschnitt erörtert.

Mit grafischer Oberfläche

Hinweis:

Die nachfolgende Beschreibung der Optionen bezieht sich sowohl auf die deutsche (als Fremdpaket) als auch die englische Fassung (selbst kompiliert).

Der Programmstart erfolgt mit einer kleinen Verzögerung, da Rubyripper das Laufwerk auf eine vorhandene Audio-CD testet. Befindet sich bereits eine Audio-CD im (richtigen) Laufwerk, öffnet Rubyripper direkt das entsprechende Menü. Ist die automatische freedb-Abfrage aktiviert, werden die Informationen zur CD von dort geladen. Des Weiteren finden sich zwei Optionen in diesem Menü:

rubyr_main.png

  • "CD info einfrieren" ("Freeze disc info"): Nützlich, wenn ein Album aus mehreren Discs besteht. Beim Einlegen der nächsten Disc werden die Felder nicht geleert.

  • "CD als "Verschiedene Künstler" markieren" ("Mark disc as various artist"): Aktiviert später das entsprechende Muster bei der automatischen Benennung der gerippten Datei(en).

Auf der linken Seite befinden sich die wichtigsten Funktionen:

  • "Einstellungen" ("Preferences"): Einstellungen aufrufen.

  • "Laufwerk abfragen" ("Scan drive"): Disc erneut im Laufwerk suchen.

  • "Laufwerk öffnen" ("Open tray"): Einschub des Laufwerks auswerfen.

  • "CD jetzt auslesen!" ("Rip cd now!"): Kopiervorgang starten.

  • "Schließen" ("Exit"): Rubyripper beenden.

Einstellungen

Sicheres Auslesen (Secure Ripping)

Achtung!

Kopiert man häufig Audio-CDs, sollte bei den folgenden Einstellungen bezüglich der Anzahl an Kopiervorgängen bedacht werden, dass optische Laufwerke (CD-/DVD-/BluRay-ROMs) zumeist sehr schnell verschleißen. Nicht umsonst legt Rubyripper automatisch eine Zwangspause ein, wenn das Kopieren länger als 30 Minuten dauert.

Obendrein kann bei zu vielen Kopiervorgängen der selbe Fehler mehrfach auftreten, so dass Rubyripper beim Vergleichen dann fälschlich von einer erfolgreichen Korrektur ausgeht.

rubyr_opt1.png

  • "CD-Laufwerk" ("Cdrom device"): Die Gerätedatei des Laufwerks, welches zum Rippen benutzt werden soll. Gibt es nur eines, sollte /dev/cdrom reichen.

  • "CD-Laufwerk Offset" ("Cdrom offset"): Der Markt ist überschwemmt mit CD-/DVD-Laufwerken, die unsauber arbeiten. An dieser Stelle kann ein spezifischer Korrekturwert eingestellt werden, um den Kopiervorgang von Anfang an sicherer zu machen. Eine Liste {en} mit Werten für verschiedene Laufwerkstypen hilft bei dieser Option.

  • "Alle Teilstücke abgleichen" ("Match all chunks"): Hier findet die Fehlererkennung statt. Festgelegt wird die Anzahl an Kopien, die in jedem Fall erstellt- und anschließend miteinander verglichen werden. Sind die Kopien alle identisch zueinander, gilt die Disc als fehlerfrei.

  • "Fehlerhafte Teilstücke abgleichen" ("Match errorneous chunks"): Die Fehlerkorrektur. Gab es beim ersten Durchgang Stellen, an denen sich die Kopien unterschieden haben, wird die angegebene Anzahl an zusätzlichen Kopien erstellt. Gelang es danach immer noch nicht genügend identische Kopien zu erstellen, beginnt die Fehlerkorrektur von vorne.

  • "Maximale Anzahl von Versuchen"("Maximum trials"): Hier wird festgelegt, nach wie vielen Versuchen der Fehlerkorrektur endgültig aufgegeben wird.

  • "CD Paranoia Optionen" ("Pass cdparanoia options"): Eigene Optionen an cdparanoia weiterreichen.

  • "CD nach dem Beenden auswerfen" ("Eject cd when finished"): Disc automatisch auswerfen, wenn der Kopiervorgang beendet ist... oder abgebrochen werden musste.

  • "Behalte die Protokolldatei nur, wenn Korrekturen notwendig sind" ("Only keep logfile if correction is needed"): Es wird standardmäßig ein Protokoll erstellt. Mit dieser Option wird es aber nur dann gespeichert, wenn es Probleme gab.

TOC Analyse (TOC analysis)

rubyr_opt2.png

  • "Lies versteckte Audio-Sektoren aus" ("Rip hidden audio sectors"): Hidden Tracks finden und mitkopieren. Die Anzahl der Sekunden legt fest, ab wann Rubyripper von einem versteckten Titel ausgeht. Je nach Laufwerkstyp und Disc, kann sowohl das Ein- als auch das Abschalten dieser Funktion Probleme verursachen. Siehe auch Problembehebung.

  • "Erstelle Cuesheet" ("Create cuesheet"): Eine Cuesheet-Datei erstellen, damit der Audioplayer die Datei(en) später genau so abspielt, wie es der CD-Spieler getan hätte.

  • "Rippe die CD als eine Datei" ("Rip CD to single file"): Es wird nicht jede Spur in eine einzelne Datei übertragen, sondern statt dessen ein Abbild der kompletten Disc erstellt. In Kombination mit einem Cuesheet wird so ein völlig authentisches Abspielverhalten erreicht.

  • "Verarbeiten von Pregaps außer Track 1" ("Handling pregaps other than track 1"): Werden die Spuren in einzelne Dateien übertragen, muss entschieden werden, was mit den Pregaps geschehen soll. Wird kein Cuesheet benutzt oder sollen die gerippten Tracks später mit der AccurateRip-Datenbank abgeglichen werden, sollte das Pregap angehängt werden (Append). Mit Cuesheet erreicht man mit Voranstellen (Prepend) ein authentischeres Abspielverhalten.

  • "Behandle Tracks mit Pre-Emphasis" ("Handling tracks with pre-emphasis"): Legt fest, wie die Pre-Emphasis übertragen wird. Entweder wird das Audiomaterial selbst korrigiert (Correct pre-emphasis tracks with sox) oder es wird ein Hinweis im Cuesheet vermerkt (Save the pre-emphasis tag in the cuesheet).

Formate (Codecs)

Hier wird festgelegt, mit welchem Audio-Codec das kopierte Material komprimiert werden soll. Die gewünschten Parameter werden an den jeweiligen Enkoder weitergereicht.

rubyr_opt3.png

  • "Audio-Formate auswählen" ("Audio formats"): zur Auswahl stehen

    • FLAC

    • Vorbis (.ogg)

    • LAME (.mp3)

    • WAVE (.wav)

    • Andere - Angaben zum Aufruf eines weiteren (kommandozeilen-basierten) Enkoders

Weitere Optionen:

  • "Anzahl zusätzlicher Kodier-Threads" ("Number of extra encoding threads"): Besitzt man einen Mehrkernprozessor, sollte man die Anzahl der Kerne hier eintragen. Da keiner der verfügbaren Enkoder parallelisiert arbeitet, nützt diese Funktion nur dann, wenn das kopierte Material in mehrere Formate umgewandelt werden soll.

  • "m3u Playlist generieren" ("Create m3u playlist"): Eine Playlist passend zu den erstellten Dateien generieren.

  • "Leerzeichen in Dateinamen durch Unterstriche ersetzen" ("Replace spaces in underscopes in filenames"): In den Dateinamen werden Unterstriche (_) statt Leerzeichen ( ) benutzt. Äußerst sinnvoll, wenn man häufig Dateien im Terminal verwaltet.

  • "Großbuchstaben in Dateiname in Kleinbuchstuben umwandeln" ("Downsize all capital letters in filenames"): Alle Dateinamen werden kleingeschrieben.

  • "Standardlautstärkeabgleich" ("Normalize to standard volume"): Die Lautstärke wird mittels Replay-Gain-Analyse angepasst. Entweder wird der ermittelte Wert im Tag der enkodierten Datei(en) gespeichert oder das Audiomaterial wird vor dem Umwandeln normalisiert. Ersteres lässt das Audiomaterial unverfälscht, der Player muss jedoch Replay Gain unterstützen. Letzteres funktioniert immer, dass Material ist aber eben nicht mehr originalgetreu.

rubyr_opt4.png

Freedb

  • "Freedb Abfrage einschalten" ("Enable freedb metadata fetching"): Informationen zur Disc werden automatisch aus der Freedb geladen.

  • "Immer ersten Freedb Treffer verwenden" ("Always use first freedb hit"): Zu manchen Discs gibt es mehrere Einträge in der Freedb. Hiermit wird immer der erste benutzt.

Andere (Other)

Hier wird festgelegt, wie die Dateien benannt werden sollen. Dazu benutzt man Variablen, die mit einem Klick auf das Pluszeichen bei "Optionen für "Dateinamen-Schema" anzeigen" ("Show options for file naming sheme") erläutert werden.

rubyr_opt5.png

  • "Basisverzeichnis" ("Base directory"): Das Arbeitsverzeichnis, in welchem die Dateien und Verzeichnisse standardmäßig angelegt werden sollen. Empfehlenswert ist ~/Musik/.

  • "Standard": Das Schema für den Regelfall - eine Disc, auf der nur ein Interpret vertreten ist und von der die Spuren in einzelne Dateien kopiert werden.

  • "Verschiedene Künstler" ("Various Artists"): Das Schema für Zusammenstellungen mit mehreren Interpreten ("CD als "Verschiedene Künstler" aktivieren", siehe oben).

  • "Einzeldatei-Abbild" ("Single file"): Zuletzt noch das Schema für den Fall, dass ein komplettes Disc-Abbild (Image) erstellt wird, anstelle einzelner Dateien.

Tipps

  • Die Fehlererkennung ist relativ einfach. Mehr als ca. 3 Kopierdurchgänge erscheinen hier unsinnig.

  • Lesefehler, die sich nicht korrigieren lassen, müssen nicht zwangsläufig hörbar sein. Übertrieben viele Durchläufe bei der Korrektur steigern nur die Wahrscheinlichkeit, das Fehler mit der Zeit übersehen werden.

  • Die maximale Anzahl an Kopiervorgängen sollte ca. 3x so hoch sein, wie der Wert, der bei der Korrektur gesetzt wurde.

  • Wird Rubyripper eingesetzt, um eine CD-Sammlung dauerhaft zu archivieren, könnte der verlustfreie FLAC-Codec von besonderem Interesse sein. In den Einstellungen unter TOC-Analyse sorgen außerdem die Funktionen "Rippe die CD als eine Datei" und "Erstelle Cuesheet" dafür, dass der komplette Inhalt der Disc (samt Pregaps etc.) originalgetreu übernommen wird. Siehe dazu Exaktes CD-Abbild rippen.

Problembehebung

Probleme mit der GTK-Oberfläche

Der GTK-Client von Rubyripper weist in der Version 0.6.2. sehr viele Bugs auf. So werden oftmals ausgefüllte Metadaten-Felder nicht in die Tags übernommen oder die Fortschrittsbalken beim Rippen/Umwandeln frieren ein. Es ist zu empfehlen, die grafische Variante nur zum Konfigurieren zu benutzen. Zum Rippen sollte auf den Konsolen-Client ausgewichen werden. Die Dateien können auch im Nachhinein getaggt werden, z.B. mit Easytag.

Rubyripper arbeitet extrem langsam

Abgesehen von den Kopiervorgängen gibt es auch Fehlerberichte darüber, dass das Programm allgemein wesentlich schneller arbeitet, wenn es über die Kommandozeile bedient wird.

cdparanoia stürzt ab oder die angelegten Audiodateien sind leer

Dieses Problem tritt auf, wenn die Funktion zum Kopieren von Hidden-Tracks aktiviert ist- das Laufwerk aber kein Lesen außerhalb des normalen Bereichs einer Audio-CD unterstützt und somit die Hidden-Tracks gar nicht erreichen kann. Da es ein Hardwareproblem ist, hilft nur, die Funktion zu deaktivieren und auf die versteckten Titel zu verzichten.

Lieder beginnen zu früh wenn ein Cuesheet benutzt wird

Dieses Problem wiederum kann bei manchen Discs auftreten, wenn die Funktion zum Kopieren von Hidden-Tracks abgeschaltet wurde und zugleich die Disc als Abbild samt Cuesheet gerippt werden soll. Hierbei werden einige Sektoren am Anfang übersehen, wodurch die Titel alle etwas nach vorne rücken. Die Datei stimmt dann nicht mehr mit den originalen Zeitmarken im Cuesheet überein.

ubuntuusers.local › WikiRubyripper