Für jene, die es interessiert. Ich habe der Neugierde halber mit whipper gearbeitet. Ich benutzte dazu das Live-System Kubuntu 20.04. Mit Budgie 18.04 hat es nicht geklappt, weil da unerfüllte Abhängigkeiten anhängig waren. Nach Installation des von Stephan weiter oben genannten deb-Paketes bekam ich nach Terminaleingabe "whipper drive list" folgende Ausgabe
$ whipper drive list
Traceback (most recent call last):
File "/usr/bin/whipper", line 11, in <module>
load_entry_point('whipper==0.9.0', 'console_scripts', 'whipper')()
File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 490, in load_entry_point
return get_distribution(dist).load_entry_point(group, name)
File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 2854, in load_entry_point
return ep.load()
File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 2445, in load
return self.resolve()
File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 2451, in resolve
module = __import__(self.module_name, fromlist=['__name__'], level=0)
File "/usr/lib/python3/dist-packages/whipper/command/main.py", line 10, in <module>
from distutils.sysconfig import get_python_lib
ModuleNotFoundError: No module named 'distutils.sysconfig'
Also habe ich distutils installiert
$ sudo apt install python3-distutils
woraufhin ich auf den Befehl "whipper drive list" die folgende Ausgabe erhielt:
$ whipper drive list
drive: /dev/cdrom, vendor: MATSHITA, model: DVD+-RW UJ8DB , release: D.02
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'
++ WARN: open (/dev/sdb1): Permission denied
++ WARN: could not open input stream...
Traceback (most recent call last):
File "/usr/bin/whipper", line 11, in <module>
load_entry_point('whipper==0.9.0', 'console_scripts', 'whipper')()
File "/usr/lib/python3/dist-packages/whipper/command/main.py", line 43, in main
ret = cmd.do()
File "/usr/lib/python3/dist-packages/whipper/command/basecommand.py", line 139, in do
return self.cmd.do()
File "/usr/lib/python3/dist-packages/whipper/command/basecommand.py", line 139, in do
return self.cmd.do()
File "/usr/lib/python3/dist-packages/whipper/command/drive.py", line 82, in do
vendor, model, release = drive.getDeviceInfo(path)
File "/usr/lib/python3/dist-packages/whipper/common/drive.py", line 68, in getDeviceInfo
device = cdio.Device(path)
File "/usr/lib/python3/dist-packages/cdio.py", line 392, in __init__
self.open(source, driver_id, access_mode)
File "/usr/lib/python3/dist-packages/cdio.py", line 708, in open
self.cd = pycdio.open_cd(source, driver_id, access_mode)
File "/usr/lib/python3/dist-packages/pycdio.py", line 1016, in open_cd
return _pycdio.open_cd(*args)
OSError: driver I/O error.
whipper drive analyze sagt
$ whipper drive analyze
INFO:whipper.command.drive:cdparanoia can defeat the audio cache on this drive
INFO:whipper.command.drive:adding drive cache behaviour to configuration file
Danach nochmal "whipper drive list"
$ whipper drive list
drive: /dev/cdrom, vendor: MATSHITA, model: DVD+-RW UJ8DB , release: D.02
WARNING:whipper.command.drive:no read offset found. Run 'whipper offset find'
Can defeat audio cache: True
++ WARN: open (/dev/sdb1): Permission denied
++ WARN: could not open input stream...
Traceback (most recent call last):
File "/usr/bin/whipper", line 11, in <module>
load_entry_point('whipper==0.9.0', 'console_scripts', 'whipper')()
File "/usr/lib/python3/dist-packages/whipper/command/main.py", line 43, in main
ret = cmd.do()
File "/usr/lib/python3/dist-packages/whipper/command/basecommand.py", line 139, in do
return self.cmd.do()
File "/usr/lib/python3/dist-packages/whipper/command/basecommand.py", line 139, in do
return self.cmd.do()
File "/usr/lib/python3/dist-packages/whipper/command/drive.py", line 82, in do
vendor, model, release = drive.getDeviceInfo(path)
File "/usr/lib/python3/dist-packages/whipper/common/drive.py", line 68, in getDeviceInfo
device = cdio.Device(path)
File "/usr/lib/python3/dist-packages/cdio.py", line 392, in __init__
self.open(source, driver_id, access_mode)
File "/usr/lib/python3/dist-packages/cdio.py", line 708, in open
self.cd = pycdio.open_cd(source, driver_id, access_mode)
File "/usr/lib/python3/dist-packages/pycdio.py", line 1016, in open_cd
return _pycdio.open_cd(*args)
OSError: driver I/O error.
Und jetzt, wie befohlen, "whipper offset find"
$ whipper offset find
INFO:whipper.command.offset:checking device /dev/sr0
WARNING:whipper.program.utils:command 'eject -t /dev/sr0' returned with exit code '1' (b'eject: CD-ROM tray close command failed: Input/output error')
Track 1 finished, found 166 Q sub-channels with CRC errors
Track 2 finished, found 223 Q sub-channels with CRC errors
Track 3 finished, found 197 Q sub-channels with CRC errors
Track 4 finished, found 277 Q sub-channels with CRC errors
Track 5 finished, found 175 Q sub-channels with CRC errors
Track 6 finished, found 162 Q sub-channels with CRC errors
Track 7 finished, found 75 Q sub-channels with CRC errors
Track 8 finished, found 72 Q sub-channels with CRC errors
Track 9 finished, found 203 Q sub-channels with CRC errors
Track 10 finished, found 165 Q sub-channels with CRC errors
Track 11 finished, found 99 Q sub-channels with CRC errors
Track 12 finished, found 184 Q sub-channels with CRC errors
Track 13 finished, found 136 Q sub-channels with CRC errors
Track 14 finished, found 184 Q sub-channels with CRC errors
Track 15 finished, found 336 Q sub-channels with CRC errors
Track 16 finished, found 29 Q sub-channels with CRC errors
Track 17 finished, found 227 Q sub-channels with CRC errors
Reading TOC 90 %
Track 18 finished, found 243 Q sub-channels with CRC errors
Track 19 finished, found 135 Q sub-channels with CRC errors
Track 20 finished, found 80 Q sub-channels with CRC errors
INFO:whipper.command.offset:trying read offset 6...
INFO:whipper.command.offset:offset of device is likely 6, confirming...
Ripping track 1 with read offset 6 95 %%
...
Ripping track 20 with read offset 6
Read offset of device is: 6.
INFO:whipper.command.offset:adding read offset to configuration file
Jetzt
$ whipper cd rip --offset=6
INFO:whipper.command.cd:using configured read offset 6
INFO:whipper.command.cd:checking device /dev/sr0
WARNING:whipper.program.utils:command 'eject -t /dev/sr0' returned with exit code '1' (b'eject: CD-ROM tray close command failed: Input/output error')
CDDB disc id: 0c0d0a14
MusicBrainz disc id 2SRzR13aTUe4fPeS8XgGVj0_xRM-
MusicBrainz lookup URL https://musicbrainz.org/cdtoc/attach?toc=1+20+250518+150+11243+26330+39365+55530+67705+78630+83878+88973+106268+120680+132210+149550+163858+176110+197343+198753+218550+235275+244803&tracks=20&id=2SRzR13aTUe4fPeS8XgGVj0_xRM-
Disc duration: 00:55:38.240, 20 audio tracks
Matching releases:
Artist : Tom Waits
Title : The Black Rider
Duration: 00:56:15.780
URL : https://musicbrainz.org/release/2a35e72e-5713-47d6-9b9e-0a9f85741436
Release : 2a35e72e-5713-47d6-9b9e-0a9f85741436
Type : Album
Barcode : 731451855924
Cat no : 518 559-2
Track 1 finished, found 151 Q sub-channels with CRC errors
Track 2 finished, found 211 Q sub-channels with CRC errors
Track 3 finished, found 192 Q sub-channels with CRC errors
Track 4 finished, found 270 Q sub-channels with CRC errors
Track 5 finished, found 172 Q sub-channels with CRC errors
Track 6 finished, found 163 Q sub-channels with CRC errors
Track 7 finished, found 78 Q sub-channels with CRC errors
Track 8 finished, found 76 Q sub-channels with CRC errors
Track 9 finished, found 202 Q sub-channels with CRC errors
Track 10 finished, found 151 Q sub-channels with CRC errors
Track 11 finished, found 103 Q sub-channels with CRC errors
Track 12 finished, found 182 Q sub-channels with CRC errors
Track 13 finished, found 129 Q sub-channels with CRC errors
Track 14 finished, found 177 Q sub-channels with CRC errors
Track 15 finished, found 351 Q sub-channels with CRC errors
Track 16 finished, found 29 Q sub-channels with CRC errors
Track 17 finished, found 225 Q sub-channels with CRC errors
Track 18 finished, found 236 Q sub-channels with CRC errors
Track 19 finished, found 129 Q sub-channels with CRC errors
Track 20 finished, found 76 Q sub-channels with CRC errors
INFO:whipper.command.cd:ripping track 1 of 20: 01. Tom Waits - Lucky Day (overture).flac
INFO:whipper.program.cdparanoia:checksums match, 40261c4a
INFO:whipper.command.cd:CRCs match for track 1
Peak level: 1.000000
Rip quality: 100.00%
INFO:whipper.command.cd:ripping track 2 of 20: 02. Tom Waits - The Black Rider.flac
INFO:whipper.program.cdparanoia:checksums match, cb67ab83
INFO:whipper.command.cd:CRCs match for track 2
Peak level: 0.999939
Rip quality: 100.00%
INFO:whipper.command.cd:ripping track 3 of 20: 03. Tom Waits - November.flac
INFO:whipper.program.cdparanoia:checksums match, 353a5700
INFO:whipper.command.cd:CRCs match for track 3
Peak level: 1.000000
Rip quality: 100.00%
INFO:whipper.command.cd:ripping track 4 of 20: 04. Tom Waits - Just the Right Bullets.flac
Reading track 4...
Verifying track 4...
Encoding track 4...
...
track 20
INFO:whipper.image.cue:parsing .cue file 'album/Tom Waits - The Black Rider/Tom Waits - The Black Rider.cue'
INFO:whipper.common.program:3 AccurateRip response(s) found
track 1: rip accurate (max confidence 48) v1 [96cebcc9], v2 [93e53e6e], DB [96cebcc9, 93e53e6e]
track 2: rip accurate (max confidence 48) v1 [23ed26a1], v2 [75d2bad3], DB [23ed26a1, 75d2bad3]
track 3: rip accurate (max confidence 48) v1 [6907a29c], v2 [e2d2b6cc], DB [6907a29c, e2d2b6cc]
track 4: rip accurate (max confidence 48) v1 [c7e9e1ab], v2 [af3f4039], DB [c7e9e1ab, af3f4039]
track 5: rip accurate (max confidence 48) v1 [a6e2c0b0], v2 [7392d5f6], DB [a6e2c0b0, 7392d5f6]
track 6: rip accurate (max confidence 48) v1 [205008fc], v2 [fd91c71d], DB [205008fc, fd91c71d]
track 7: rip accurate (max confidence 48) v1 [34e83589], v2 [36a34a81], DB [34e83589, 36a34a81]
track 8: rip accurate (max confidence 48) v1 [4085cf89], v2 [a21b4e1a], DB [4085cf89, a21b4e1a]
track 9: rip accurate (max confidence 48) v1 [66270d5f], v2 [090ac4dc], DB [66270d5f, 090ac4dc]
track 10: rip accurate (max confidence 48) v1 [37d99729], v2 [86170f7a], DB [37d99729, 86170f7a]
track 11: rip accurate (max confidence 48) v1 [2020afb6], v2 [9b82118a], DB [2020afb6, 9b82118a]
track 12: rip accurate (max confidence 48) v1 [403d845f], v2 [5468ff4c], DB [403d845f, 5468ff4c]
track 13: rip accurate (max confidence 48) v1 [e17e55ba], v2 [e896523f], DB [e17e55ba, e896523f]
track 14: rip accurate (max confidence 48) v1 [5f0f86da], v2 [b449f947], DB [5f0f86da, b449f947]
track 15: rip accurate (max confidence 48) v1 [97e282ec], v2 [0c07d9f0], DB [97e282ec, 0c07d9f0]
track 16: rip accurate (max confidence 48) v1 [bf132e36], v2 [8a4ebc8f], DB [bf132e36, 8a4ebc8f]
track 17: rip accurate (max confidence 48) v1 [219d604f], v2 [bada9d25], DB [219d604f, bada9d25]
track 18: rip accurate (max confidence 48) v1 [b4518958], v2 [52da77b9], DB [b4518958, 52da77b9]
track 19: rip accurate (max confidence 48) v1 [85e4bd21], v2 [9fd42030], DB [85e4bd21, 9fd42030]
track 20: rip accurate (max confidence 48) v1 [6239d835], v2 [d65b49c5], DB [6239d835, d65b49c5]
Und zu guter Letzt
$ whipper cd rip --output-directory="home/kubuntu/Musik/" --disc-template=%A/%d --track-template=%A/%d/"%t - %n"
INFO:whipper.command.cd:using configured read offset 6
INFO:whipper.command.cd:checking device /dev/sr0
WARNING:whipper.program.utils:command 'eject -t /dev/sr0' returned with exit code '1' (b'eject: CD-ROM tray close command failed: Input/output error')
CDDB disc id: 0c0d0a14
MusicBrainz disc id 2SRzR13aTUe4fPeS8XgGVj0_xRM-
MusicBrainz lookup URL https://musicbrainz.org/cdtoc/attach?toc=1+20+250518+150+11243+26330+39365+55530+67705+78630+83878+88973+106268+120680+132210+149550+163858+176110+197343+198753+218550+235275+244803&tracks=20&id=2SRzR13aTUe4fPeS8XgGVj0_xRM-
Disc duration: 00:55:38.240, 20 audio tracks
Matching releases:
Artist : Tom Waits
Title : The Black Rider
Duration: 00:56:15.780
URL : https://musicbrainz.org/release/2a35e72e-5713-47d6-9b9e-0a9f85741436
Release : 2a35e72e-5713-47d6-9b9e-0a9f85741436
Type : Album
Barcode : 731451855924
Cat no : 518 559-2
Track 1 finished, found 163 Q sub-channels with CRC errors
Track 2 finished, found 209 Q sub-channels with CRC errors
Track 3 finished, found 186 Q sub-channels with CRC errors
Track 4 finished, found 260 Q sub-channels with CRC errors
Track 5 finished, found 178 Q sub-channels with CRC errors
Track 6 finished, found 150 Q sub-channels with CRC errors
Track 7 finished, found 78 Q sub-channels with CRC errors
Track 8 finished, found 74 Q sub-channels with CRC errors
Track 9 finished, found 211 Q sub-channels with CRC errors
Track 10 finished, found 157 Q sub-channels with CRC errors
Track 11 finished, found 96 Q sub-channels with CRC errors
Track 12 finished, found 174 Q sub-channels with CRC errors
Track 13 finished, found 132 Q sub-channels with CRC errors
Track 14 finished, found 174 Q sub-channels with CRC errors
Track 15 finished, found 338 Q sub-channels with CRC errors
Track 16 finished, found 29 Q sub-channels with CRC errors
Track 17 finished, found 211 Q sub-channels with CRC errors
Track 18 finished, found 230 Q sub-channels with CRC errors
Track 19 finished, found 124 Q sub-channels with CRC errors
Track 20 finished, found 72 Q sub-channels with CRC errors
INFO:whipper.command.cd:ripping track 1 of 20: 01 - Lucky Day (overture).flac
INFO:whipper.program.cdparanoia:checksums match, 40261c4a
INFO:whipper.command.cd:CRCs match for track 1
Peak level: 1.000000
Rip quality: 100.00%
INFO:whipper.command.cd:ripping track 2 of 20: 02 - The Black Rider.flac
INFO:whipper.program.cdparanoia:checksums match, cb67ab83
INFO:whipper.command.cd:CRCs match for track 2
Peak level: 0.999939
Rip quality: 100.00%
...
track 20
Geschafft! Das hat nun alles in allem fast drei Stunden gedauert. Aber es ist korrekt, man sitzt ja nicht drei Stunden vor dem Rechner. Trotzdem sollte man sich gelegentlich über den Fortschritt informieren sonst werden's vielleicht vier Stunden.
Und hört man einen Unterschied zu ripperX? Ich würde sagen ja, geringfügig. Die Höhen sind etwas präziser, klarer. Für High-End-Puristen mit dem absoluten Gehör sicher von Relevanz. Aber ganz bestimmt auch von der Aufnahme (Engineering, Mastering) abhängig. Ich habe auch nur eine CD mit Whipper bearbeitet. Und wer sich in diesem Zusammenhang dafür entscheidet, eine komplette Musiksammlung neu zu rippen, dem wünsche ich bereits heute das erforderliche Sitzfleisch.