Giter VIP home page Giter VIP logo

morituri's Introduction

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-setuptools, for plugin support
- 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.


RUNNING UNINSTALLED
-------------------

To make it easier for developers, you can run morituri straight from the
source checkout:

./autogen.sh
make
misc/morituri-uninstalled

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

morituri's People

Contributors

thomasvs avatar alkino avatar dioltas avatar freso avatar jonassmedegaard avatar

Watchers

James Cloos avatar Leo Bogert avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.