Image and Rip Optical Media Like A Boss


Keywords
code4lib
License
Apache-2.0
Install
pip install iromlab==0.10.0

Documentation

Iromlab

What it does

Iromlab (Image and Rip Optical Media Like A Boss ) provides a simple and straightforward way to save the content of offline optical media from the KB collection. It currently supports the following carrier types:

  • CD-ROM
  • DVD (includes DVD-ROM, DVD-Video and DVD-Audio)
  • Audio CD
  • 'Enhanced'(Blue Book) CD
  • Mixed mode CD
  • Philip CD-Interactive

Internally Iromlab wraps around a number of widely-used software tools. Iromlab automatically detects the carrier type, including whether it contains data, audio, or a comination of both. The content of data sessions is extracted and saved as an ISO image using IsoBuster. For audio sessions all tracks are ripped to WAV or FLAC format with dBpoweramp. Iromlab supports both 'enhanced' audio CDs that contain both audio and data sessions, as well as 'Mixed mode' discs, which contain 1 session that holds both audio and data tracks. Data from Philip CD-Interactive discs is saved as a raw binary image.

ISO images are verified using Isolyzer. Audio files are checked for errors using shntool (WAV format) or flac (FLAC format).

The disc images/rips are saved in a simple batch structure. Each batch contains a batch manifest, which is a comma-delimited text file with basic information about each carriers, such as:

  • An identifier that links to a record in the KB catalogue.
  • A volume number (because carriers may span multiple volumes).
  • A True/False flag that indicates the status of iromlab's imaging/ripping process.
  • A series of True/False flags that indicate the presence of audio, data, or particular CD layouts (e.g. CD-extra, mixed mode, of cd-interactive).

These batches can be further processed into ingest-ready Submission Information Packages using omSipCreator.

Using Iromlab outside the KB

By default, Iromlab expects each carrier to be associated with a record in the KB catalogue by means of an identifier (PPN). This identifier is then used to fetch title information from the KB catalogue using a HTTP request. This effectively constrains the use of Iromlab to materials in the KB collection. To overcome this constraint, you can disable the PPN lookup by setting the value of enablePPNLookup in the configuration file to False. More details can be found in the setup and configuration documentation. If enablePPNLookup is disabled, the PPN data entry widget in Iromlab's data entry GUI is replaced with a Title widget, which can be used for entering a free text description of each carrier. See also the section about Processing discs that are not part of the KB collection in the User Guide.

Moreover, it would be fairly straightforward to replace the PPN lookup by some alternative identifier that is linked to another catalogue/database (especially if it can be queried using HTTP-requests).

Also, Iromlab is based on a pretty specific hardware/software setup (see sections below). However, most of the software dependencies are implemented using simple wrapper modules, so this is also something that could be modified quite easily.

Platform

MS Windows only. It may be possible to adapt the software to other platforms.

Hardware dependencies

Iromlab was created to be used in conjuction with Acronova Nimbie disc autoloaders. It has been tested with the Nimbie NB21-DVD model. It may work with other models as well.

Wrapped software

Iromlab wraps around a number of existing software tools:

  • IsoBuster (note: Iromlab needs version 4.1 or more recent!)
  • dBpoweramp, dBpoweramp Batch Ripper and Nimbie Batch Ripper Driver; all available from the dBpoweramp website. (Note: Iromlab wraps dBpoweramp's Nimbie driver binaries to control the disc loading / unloading process.)
  • cd-info - this tool is part of libcdio, the "GNU Compact Disc Input and Control Library".
  • shntool - used to verify the integrity of created WAVE files.
  • flac - used to verify the integrity of created WAVE files.

Both IsoBuster and dBpoweramp require a license, and they must be installed separately. Binaries of cd-info, shntool and flac are included in the iromlab installation, and they are automatically copied to the iromlab package directory during the setup process.

Documentation

Contributors

Written by Johan van der Knijff, except sru.py which was adapted from the KB Python API which is written by WillemJan Faber, and the socket server code which was adapted from an example in Python Socket Communication by Rodgers Ouma Mc'Alila.

License

Iromlab is released under the Apache License 2.0. The KB Python API is released under the GNU GENERAL PUBLIC LICENSE. Libcdio, shntool and flac are released under the GNU GENERAL PUBLIC LICENSE. See the directories under tools for the respective license statements of these tools. dBpoweramp console rip tool: copyright Illustrate Ltd., 2017.