morituri is a CD ripper aiming for accuracy over speed for UNIX systems. Its features are modeled to compare with Exact Audio Copy on Windows. The home page is https://thomas.apestaart.org/morituri/trac/
For a more detailed rationale, see my wiki page 'The Art of the Rip'.
Additionally, if you're building from a git checkout:
If you are building from a source tarball or checkout, you can choose to use morituri installed or uninstalled.
getting:
$HOME/dev/ext
or $HOME/prefix/src
)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
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.
To make it easier for developers, you can run morituri straight from the source checkout:
./autogen.sh
make
misc/morituri-uninstalled
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 one of
rip cd rip # uses the offset from configuration file
rip cd rip --offset (the number you got before) # manually specified offset
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.
rip offset find
fails to delete the temporary .wav files it creates if error occurs while ripping (thomasvs/morituri#75)The configuration file is stored according to XDG Base Directory Specification when possible.
It lives in $XDG_CONFIG_HOME/morituri/morituri.conf
The configuration file follows python's ConfigParser syntax. There is a "main" section and zero or more sections starting with "drive:"
main section:
path_filter_fat
: whether to filter path components for FAT file systemspath_filter_special
: whether to filter path components for special
charactersdrive section: All these values are probed by morituri and should not be edited by hand.
defeats_cache
: whether this drive can defeat the audio cacheread_offset
: the read offset of the drive