The biggest concerns are: - Physical damage to the Audio CD. See (CIRC) http://en.wikipedia.org/wiki/Cross-interleaved_Reed–Solomon_coding - Capabilities of the CD-ROM drive. (cdparanoia can analyze your drive and tell you what) http://www.xiph.org/paranoia/ - Unfortunate CD copy protection features. http://en.wikipedia.org/wiki/Copy_protection e.g. http://en.wikipedia.org/wiki/Cactus_Data_Shield or http://en.wikipedia.org/wiki/MediaMax_CD-3 or http://en.wikipedia.org/wiki/Key2Audio or http://en.wikipedia.org/wiki/Extended_Copy_Protection Preparation: If the disc is visibly scratched/damaged you're going to have a bad time. If you attempt to smooth the surface, be sure to clean from center to outer edge in lines, never in circles with the 'grain' of the data. (See CIRC above) Determine if your CD-ROM has features that cdparanoia can use. Run tests with a few different audio CDs with and without copy protection. test for disc $ cdparanoia -vsQ analyze drive $ cdparanoia -vsA batch rip the disc $ cdparanoia -B Set aside your "feature rich" discs. You are likely to get some bad rips from these. It's worth loading up the ripped RAW or WAV files into (Audacity) http://audacity.sourceforge.net/ to look at the waveform and spot corruption -- appearing as a clipping wave (full amplitude) with short chirps or bursts of pure tones. I suppose detecting corruption could be scripted, but I don't know how to do it. Once you can confirm that ripping is working, the rest is easy. Use a front-end utility like (dekagen, command-line) http://www.mbayer.de/dekagen/ or (RipperX, GUI) http://sourceforge.net/projects/ripperx/ to encode to FLAC. I recommend Beets for automatic tagging and organizing of files: http://beets.radbox.org/ Then puddletag to manually tweak anything: http://puddletag.sourceforge.net/ Later you can re-encode from FLAC to Opus or Vorbis if space on a portable device is limited.