9d9d8a81fd6fa654459d1117ed4df55bb0878882
morituri is a CD ripper aiming for accuracy over speed.
Its features are modeled to compare with Exact Audio Copy on Windows.
RATIONALE
---------
For a more detailed rationale, see my wiki page 'The Art of the Rip'
at https://thomas.apestaart.org/thomas/trac/wiki/DAD/Rip
FEATURES
--------
* support for MusicBrainz for metadata lookup
* support for AccurateRip verification
* detects sample read offset and ability to defeat cache of drives
* performs test and copy rip
* detects and rips Hidden Track One Audio
* templates for file and directory naming
* support for lossless encoding and lossy encoding or re-encoding of images
* tagging using GStreamer, including embedding MusicBrainz id's
* retagging of images
* plugins for logging
* for now, only a command line client (rip) is shipped
REQUIREMENTS
------------
- cdparanoia, for the actual ripping
- cdrdao, for session, TOC, pregap, and ISRC extraction
- GStreamer and its python bindings, for encoding
- gst-plugins-base >= 0.10.22 for appsink
- python musicbrainz2, for metadata lookup
- python-cddb, for showing but not using disc info if not in musicbrainz
- pycdio, for drive identification (optional)
GETTING MORITURI
----------------
If you are building from a source tarball or checkout, you can choose to
use morituri installed or uninstalled.
- getting:
- Change to a directory where you want to put the morituri source code
(For example, $HOME/dev/ext or $HOME/prefix/src)
- source: download tarball, unpack, and change to its directory
- checkout:
git clone git://github.com/thomasvs/morituri.git
cd morituri
git submodule init
git submodule update
./autogen.sh
- building:
./configure
make
- you can now choose to install it or run it uninstalled.
- installing:
make install
- running uninstalled:
ln -sf `pwd`/misc/morituri-uninstalled $HOME/bin/morituri-git
morituri-git
(this drops you in a shell where everything is set up to use morituri)
RUNNING MORITURI
----------------
morituri currently only has a command-line interface called 'rip'
rip is self-documenting.
rip -h gives you the basic instructions.
rip implements a tree of commands; for example, the top-level 'changelog'
command has a number of sub-commands.
Positioning of arguments is important;
rip cd -d (device) rip
is correct, while
rip cd rip -d (device)
is not, because the -d argument applies to the rip command.
Check the man page (rip(1)) for more information.
GETTING STARTED
---------------
The simplest way to get started making accurate rips is:
- pick a relatively popular CD that has a good change of being in the
AccurateRip database
- find the drive's offset by running
rip offset find
- wait for it to complete; this might take a while
- optionally, confirm this offset with two more discs
- analyze the drive's caching behaviour
rip drive analyze
- rip the disc by running
rip cd rip --offset (the number you got before)
FILING BUGS
-----------
morituri's bug tracker is at https://thomas.apestaart.org/morituri/trac/
When filing bugs, please run the failing command with the environment variable
RIP_DEBUG set; for example:
RIP_DEBUG=5 rip offset find > morituri.log 2>&1
gzip morituri.log
And attach the gzipped log file to your bug report.
KNOWN ISSUES
------------
- no GUI yet
GOALS
-----
- quality over speed
- support one-command automatic ripping
- support offline ripping (doing metadata lookup and log rewriting later)
- separate the info/result about the rip from the metadata/file generation/...
rip command tree
----------------
rip
accurip
show
show accuraterip data
offset
find
find drive's read offset using AccurateRip
verify
verify drive's read offset using AccurateRip
cd
rip
rip the cd
debug
encode
encode a file
htoa
find
rip
rip the htoa if it's there
image
verify
verify the cd image
encode
encode to a different codec
retag
retag the image with current MusicBrainz data
Languages
Python
93.6%
TeX
4.7%
C
0.9%
Dockerfile
0.5%
Shell
0.3%