ubuntuusers.de

whipper

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


Du möchtest den Artikel für eine weitere Ubuntu-Version testen? Mitarbeit im Wiki ist immer willkommen! Dazu sind die Hinweise zum Testen von Artikeln zu beachten.

whipper 🇬🇧 ist ein Kommandozeilenprogramm zum Rippen von CD. Es wird als Fork von morituri weiterentwickelt, da dieses von seinem Entwickler eingestellt wurde, und verwendet weitgehend die gleiche Syntax. Im Gegensatz zu anderen vergleichbaren Programmen liegt der Schwerpunkt auf dem fehlerfreien Auslesen des Datenträgers, also dem Erstellen einer identischen Digital-Kopie wie beim Vorbild Exact Audio Copy (EAC).

Um dieses Ziel zu erreichen, wird während des Rippens auf die beiden Online-Datenbanken MusicBrainz und AccurateRip zugegriffen, eine Internetverbindung ist also notwendig. Es gibt noch weitere Linux-Programme, die ein exaktes CD-Abbild erstellen können, allerdings keine mit Abgleich der Ergebnisse mit der AccurateRip-Datenbank.

Das Programm war ursprünglich, wie das Original, in python2.7 verfasst. Inzwischen ist es auf python3 umgestellt - das offizielle Ende (EOL) von python 2.7 war der 31.12.2019.

Wiki/Icons/synaptic.png

Installation

Das Paket ist erst ab Ubuntu 20.10 in den Quellen vorhanden.

Aus einem PPA

Eine aktuelle Version (basierend auf python3.6) kann aus einem PPA[1] installiert werden.

Adresszeile zum Hinzufügen des PPAs:

  • ppa:spvkgn/whipper

Hinweis!

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


Ein PPA unterstützt nicht zwangsläufig alle Ubuntu-Versionen. Weitere Informationen sind der Wiki/Vorlagen/PPA/ppa.png PPA-Beschreibung des Eigentümers/Teams spvkgn zu entnehmen.

Daraus das Paket installieren[2]:

  • whipper (ppa)

Befehl zum Installieren der Pakete:

sudo apt-get install whipper 

Oder mit apturl installieren, Link: apt://whipper

Erstellung aus dem Quellcode

Benötigt werden dazu die folgenden Pakete:

  • cd-paranoia

  • cdrdao

  • libc6

  • libsndfile1-dev

  • python3

  • python3-cdio

  • python3-gi

  • python3-musicbrainzngs

  • python3-mutagen

  • python3-requests

  • python3-ruamel.yaml

  • sox

Befehl zum Installieren der Pakete:

sudo apt-get install cd-paranoia cdrdao libc6 libsndfile1-dev python3 python3-cdio python3-gi python3-musicbrainzngs python3-mutagen python3-requests python3-ruamel.yaml sox 

Oder mit apturl installieren, Link: apt://cd-paranoia,cdrdao,libc6,libsndfile1-dev,python3,python3-cdio,python3-gi,python3-musicbrainzngs,python3-mutagen,python3-requests,python3-ruamel.yaml,sox

Dann den aktuellen Code von der Projektseite herunterladen

git clone https://github.com/whipper-team/whipper.git 

und in den entstandenen Order wechseln. Dort kann mit

sudo checkinstall python3 setup.py install 

das Programm erstellt und ein einfaches Paket gebaut und installiert[3] werden.

Konfiguration

Nach der Installation muss zuerst das zu verwendende optische Laufwerk konfiguriert werden. Mit dem Befehl[4]

whipper drive list 

werden die Daten der angeschlossenen Laufwerke ausgegeben, Ausgabe ist etwas wie

drive: /dev/cdrom, vendor: TSSTcorp, model: CDDVDW SH-224FB , release: SB00
WARNING:whipper.command.drive:no read offset found. Run 'whipper offset find'
WARNING:whipper.command.drive:unknown whether audio cache can be defeated. Run 'whipper drive analyze'

Dann wird eine möglichst häufig verkaufte Audio-CD eingelegt, die vermutlich in der accurate-rip-Datenbank vorhanden ist. Mit

whipper drive analyze 

überprüft das Programm, ob eine Cache-Funktion die den Offsetwert verfälschen könnte, umgangen werden kann. Ausgabe sollte etwas ergeben wie

INFO:whipper.command.drive:cdparanoia can defeat the audio cache on this drive
INFO:whipper.command.drive:adding drive cache behaviour to configuration file

Diese Information schreibt whipper dann in die Konfigurationsdatei, die in ~/.config/whipper/whipper.conf angelegt wird.

Außerdem muss der "drive-offset" ermittelt werden, am einfachsten über eine Suche nach dem oben ermittelten Namen/Modell in der accurate.rip-Liste 🇬🇧. Dieser Wert wird im folgenden Befahl statt NUM angegeben

whipper offset find -o NUM 
INFO:whipper.command.offset:checking device /dev/sr0
INFO:whipper.command.offset:trying read offset NUM...
INFO:whipper.command.offset:offset of device is likely NUM, confirming...
...
Read offset of device is: NUM.
INFO:whipper.command.offset:adding read offset to configuration file

Whipper überprüft anhand der eingelegten CD, ob der Wert korrekt ist, und überträgt ihn in die whipper.conf. Der Prozess dauert etwas, weil etliche Tracks ausgelesen, und mit der accurate-rip-Datenbank abgeglichen werden. Falls in der Liste kein Wert für das Gerät gefunden werden kann, lässt der Offsetwert auch ohne die -o-Option ermitteln:

whipper offset find 

Das kann etwas dauern, weil dann ggf. etliche Werte im Versuch-und-Irrtum-Verfahren verwendet werden, bis ein passender gefunden ist, der Vorgang muss pro Laufwerk aber nur einmal durchgeführt werden. Auch dieser Wert wird in der whipper.conf hinterlegt, und muss später nicht mehr extra angegeben werden.

Weitere Informationen zur Konfiguration in der Dokumentation 🇬🇧 auf der Projektseite, es können z.B. Vorgaben zur Ordnerstruktur, Dateibenennung, Umgang mit unbekannten CDs, Umgang mit mit FAT-inkompatiblen Zeichen etc. gemacht werden, sodass zu diesen Werten keine Optionen mehr auf der Kommandozeile angeben werden müssen.

Verwendung

Hinweis:

Die Ausgabe kann unter whipper - anders als beim Original - nur im flac-Format erfolgen! Die Option --profile ist nicht mehr vorhanden.

Nachdem der korrekte Offset ermittelt wurde, kann eine Audio-CD ausgelesen werden. Die hier gezeigte Ausgabe veranschaulicht beispielhaft die Ermittlung der verwendeten Audio-CD und den Ripvorgang:

whipper cd rip --offset=OFFSET 
INFO:whipper.command.cd:checking device /dev/sr0
INFO:whipper.command.cd:reading TOC...
CDDB disc id: f910e112
MusicBrainz disc id e3B0wP.1wCyxlFHyc7fsAtJMhwg-
MusicBrainz lookup URL https://musicbrainz.org/cdtoc/attach?toc=1+18+324231+150+12920+29355+38850+48050+69930+86850+104440+118015+157220+175550+186920+211445+227815+244575+258810+280895+298625&tracks=18&id=e3B0wP.1wCyxlFHyc7fsAtJMhwg-
Disc duration: 01:12:01.080, 18 audio tracks
INFO:musicbrainzngs:in <ws2:release-group>, uncaught attribute type-id

Matching releases:

Artist  : Nils Landgren
Title   : Christmas With My Friends
Duration: 01:12:01.075
URL     : https://musicbrainz.org/release/68cd09a3-0350-44eb-9418-6fe43d3b04b7
Release : 68cd09a3-0350-44eb-9418-6fe43d3b04b7
Type    : Album
Barcode : 614427945426
Cat no  : 9454-2

INFO:whipper.command.cd:ripping track 1 of 18: 01 - Maybe This Christmas.flac
INFO:whipper.program.cdparanoia:checksums match, 31509574
INFO:whipper.command.cd:CRCs match for track 1
Peak level: 0.931732                      
Rip quality: 100.00%
INFO:whipper.command.cd:ripping track 2 of 18: 02 - Ave maris stella.flac
INFO:whipper.program.cdparanoia:checksums match, 32b24402
INFO:whipper.command.cd:CRCs match for track 2
Peak level: 0.984955                      
Rip quality: 100.00%
...
INFO:whipper.image.cue:parsing .cue file u'/home/BENUTZER/Musik/Nils Landgren/Christmas With My Friends.cue'
INFO:whipper.common.program:4 AccurateRip response(s) found
track  1: rip accurate     (max confidence    106) v1 [9c38dec8], v2 [62ef2858], DB [9c38dec8, 62ef2858]
track  2: rip accurate     (max confidence    107) v1 [61cf6625], v2 [7538d11a], DB [61cf6625, 7538d11a]

...

Beispiel: um die Ordnerstruktur KÜNSTLER/ALBUM/TRACKNUMMER - TRACKTITEL zu erhalten, verwendet man:

whipper cd rip --output-directory="/home/BENUTZERNAME/Musik/" --disc-template=%A/%d --track-template=%A/%d/"%t - %n" 

Damit werden neben den flac-Dateien auch jeweils eine CD-NAME.mpu, CD_NAME.log-, CD-NAME.cue- und CD-NAME.toc-Datei mit erstellt. Allerdings lassen sich beiden letzteren nicht zum Erstellen von Audio-CDs nutzen; whipper erstellt nur flac-Dateien, die nicht direkt wieder in Audio-CDs verwendet werden können.

Optionen

Die Ausgabe erfolgt im verlustfreien Format FLAC in den aktuellen Ordner. Durch die Verwendung weiterer Parameter können die Vorgaben angepasst werden.

Optionen zu whipper cd rip (Auswahl)
Parameter Funktion
--output-directory="/ORDNER/" Ausgabeordner
--working-directory="/ORDNER/" Beispiel: --working-directory="/tmp/"
--disc-template=ZEICHENKETTE Die Bedeutung der Abkürzungen findet man in der Hilfefunktion
--track-template=ZEICHENKETTE Die Bedeutung der Abkürzungen findet man in der Hilfefunktion
--cdr Auch "selbstgebrannte" CDs auslesen; ohne die Angabe bricht whipper ansonsten bei erkannter CD-R das Auslesen ab.
-U | --unknown Auch in der musicbrainz-Datenbank nicht vorhandenen CDs rippen, tags müssen dann selbst erstellt werden

Die Bedienung ist etwas gewöhnungsbedürftig, Informationen müssen zu den Unterfunktionen einzeln aufgerufen werden, z.B.

whipper -h # zeigt grundsätzliche Optionen und Befehle
whipper cd -h # zeigt Unterfunktionen zum Befehl cd
whipper cd rip -h # zeigt Optionen zu rip, also der "Hauptfunktion" 

Entsprechend müssen die gewählten Optionen jeweils im Anschluss an den Befehl gesetzt werden, erst danach wird dann das nächstfolgende Unterkommando gesetzt, und die Optionen dazu, etc. Ein Aufruf eines bestimmten Gerätes, ohne Auswurf der CD bei Ende des Rippens einer CD-R erfolgt z.B. über

whipper --eject never cd -d DEVICE rip --cdr   

Wenn die Optionen anders gesetzt werden, bricht das Programm mit Fehlermeldungen ab.

Eine manpage scheint es nicht zu geben 🇬🇧.

Probleme

uncaught-attribute-Meldung

Eine Ausgabezeile

INFO:musicbrainzngs:in <ws2:release-group>, uncaught attribute type-id

scheint, wenn keine weiteren Probleme auftauchen, harmlos zu sein.

Offset wird nicht erkannt

CD/DVD-Laufwerke, die einen sehr hohen offset-Wert benötigen (587 oder mehr) können von dem Programm nicht verwendet werden. Der Versuch führt zu Abstürzen; ggf. hängt sich das Programm auf und muss dann abgebrochen werden. Hintergrund ist, dass das verwendete cd-paranoia nicht so weit in das lead-out der CD lesen kann (siehe im Forum und diesen Bugreport 🇬🇧).

Diese Revision wurde am 9. Mai 2021 19:04 von noisefloor erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Multimedia, CD