# Rubyripper

Rubyripper ist ein freier CD-Ripper zum digitalen Auslesen von Audio-CDs („Rippen“ oder spezifischer DAE) für unixoide Betriebssysteme (getestet unter Linux, macOS und FreeBSD). Oberstes Ziel der Software sind möglichst fehlerfreie Ausleseergebnisse, um identische Kopien erstellen zu können, wobei die proprietäre Windows-Software Exact Audio Copy (EAC) als Vorbild dient. Es ist das erste Programm seiner Art aus der Linux- und Freie-Software-Welt, das diesen Fokus hat und einen zuverlässigen Mechanismus zur Umgehung des in vielen CD-Laufwerken anzutreffenden Lesepuffers hat. Damit wurde und wird es teils immer noch als die nächstbeste EAC-Alternative für Linux-Anwender empfohlen.
Rubyripper wird als Freie Software unter den Bedingungen von Version 3 der GNU General Public License (GPL) verbreitet. Für die Linux-Distribution Mageia ist Rubyripper in den offiziellen Paketquellen verfügbar. Für Debian und Arch Linux sind Community-Repositories oder Paketquellen von Drittanbietern verfügbar.

## Funktionen

Die ausgelesenen Daten können in RIFF WAVE und über entsprechende Encoder in den Formaten FLAC, Vorbis und MP3 (mittels LAME) oder auch über benutzerdefinierte andere Programme ausgegeben werden (auch mehrere gleichzeitig). CDs können auch in ein Abbild ausgelesen werden, also an einem Stück in einer großen Audiodatei mit einem zugehörigen Cuesheet, das die entsprechenden Metadaten aufnimmt. Außerdem können auch Titelinformationen von freedb übernommen (per cd-discid) und die Ausgabedateien nach einem Namensschema benannt und in Verzeichnisse eingeordnet werden. Des Weiteren können die erzeugten Dateien auch gleich mit Replay-Gain-Informationen versehen werden.

## Technik

Die Anwendung ist in der Programmiersprache Ruby geschrieben (daher der Name) und mit einer GTK+-2-basierten grafischen Benutzeroberfläche versehen, bietet aber auch eine Kommandozeilenschnittstelle und eine Programmierschnittstelle für andere Frontends. Zum Lesen der CDs baut es – wie praktisch alle anderen Linux-Ripper auch – auf cdparanoia auf, verwendet dieses jedoch auf eine ausgeklügelte Weise, die auch die Umgehung des Lesepuffers gewährleistet (was cdparanoia von sich aus lange Zeit nicht konnte): Um akkurate Ergebnisse zu erhalten, werden alle Daten mehrfach gelesen und anschließend miteinander verglichen, um problematische Stellen zu finden, die dann noch öfter gelesen werden, bis (konfigurierbar) mindestens zwei übereinstimmende Ergebnisse geliefert wurden. Dabei werden die Daten nicht häppchenweise mehrfach gelesen, sondern es läuft jeder Lesevorgang vollständig durch, sodass praktisch jeder Laufwerks-Lesepuffer überlaufen muss und somit garantiert zweimal gelesen und nicht nur der (möglicherweise fehlerhafte) Inhalt des Lesepuffers zweimal ausgegeben wird. Problematische Stellen werden in einer ausführlichen Protokolldatei vermerkt.

## Geschichte

Rubyripper begann seine Geschichte im Oktober 2005 als Python-Programm. Für die Version 0.1 vom 29. Januar 2006 wurde das Programm komplett in Ruby neu geschrieben und erhielt seinen heutigen Namen. Mit der Veröffentlichung von Version 10.2 des zugrundeliegenden cdparanoia am 11. September 2008 ist dieses selber in der Lage, den Lesepuffer der Laufwerke zu umgehen.
Am 10. März 2014 erklärte der Hauptentwickler Bouke Woudstra, sich nicht mehr an Rubyripper beteiligen zu wollen, da er in Zeiten von Musikstreaming-Diensten keinen Sinn mehr darin sähe, CDs zu kopieren. Da Woudstra der einzige verbliebene Entwickler war, war das Projekt verwaist, bis 2015 ein Benutzer mit einer Abspaltung auf GitHub die Entwicklung weiterführte.