Update rather bitrotted cdparanoia README
[xiph/unicode.git] / cdparanoia / FAQ.txt
blob5a099d736d0134294bd3c004b82ca33ea9d8217a
2 CDDA Paranoia                                                            FAQ
4 ----------------------------------------------------------------------------
6                        "Suspicion Breeds Confidence!"
7                                   --Brazil
9 ----------------------------------------------------------------------------
11 August 20, 1999
13 For those new to Paranoia and cdparanoia, this is the
14 best, first place to look for information and answers to
15 your questions.
17 More information can be found on the cdparanoia homepage:
19 http://www.xiph.org/paranoia/
21 ----------------------------------------------------------------------------
22 Table of Contents
24 1. Questions about the Paranoia and cdparanoia projects
25    1. What is cdparanoia?
26    2. Why use cdparanoia?
27    3. What is Paranoia?
28    4. Is cdparanoia / Paranoia portable?
29    5. What is Paranoia's history?
30    6. Is cdparanoia/Paranoia related to cdda2wav?
31    7. What are the differences between Paranoia II, III and IV?
32    8. Are there cdparanoia mailing lists for users or developers?
33    9. What is Paranoia IV's current development status?
34   10. Will cdparanoia, and cdda2wav or xcdroast merge anytime in the future?
36 2. Questions about using Paranoia and cdparanoia
37    1. Requirements to run cdparanoia (as of alpha 3)
38    2. Does Cdparanoia support ATAPI drives? SCSI Emulation? Parallel port 
39       drives?
40    3. I can play audio CDs perfectly; why is reading the CD into a file so 
41       difficult and prone to errors?
42    4. Does cdparanoia lose quality from the CD recording?
43    5. Can cdparanoia detect pregaps? Can it remove the two second gaps 
44       between tracks?
45    6. Why don't you implement CDDB? A GUI? Four million other features I want?
46    7. The progress meter: What is that weird bargraph during ripping?
47    8. How can I tell if my drive would be OK with regular cdda2wav?
48    9. What is the biggest value of SG_BIG_BUFF I can use?
49   10. Why do the binary files from two reads differ when compared?
50   11. Why does CDParanoia rip files off into WAV format (and other sample 
51       formats) but not CDDA format?
53 -------------------------------------------------------------------------
55   Questions about the Paranoia and cdparanoia projects
57   What is cdparanoia?
59   Cdparanoia is a Compact Disc Digital Audio (CDDA) extraction tool,
60   commonly known on the net as a 'ripper'. The application is built on
61   top of the Paranoia library, which is doing the real work (the
62   Paranoia source is included in the cdparanoia source distribution).
63   Like the original cdda2wav, cdparanoia package reads audio from the
64   CDROM directly as data, with no analog step between, and writes the
65   data to a file or pipe in WAV, AIFC or raw 16 bit linear PCM.
67   Cdparanoia is a bit different than most other CDDA extration tools. It
68   contains few-to-no 'extra' features, concentrating only on the ripping
69   process and knowing as much as possible about the hardware performing
70   it. Cdparanoia will read correct, rock-solid audio data from
71   inexpensive drives prone to misalignment, frame jitter and loss of
72   streaming during atomic reads. Cdparanoia will also read and repair
73   data from CDs that have been damaged in some way.
75   At the same time, however, cdparanoia turns out to be easy to use and
76   administrate; It has no compile time configuration, happily
77   autodetecting the CDROM, its type, its interface and other aspects of
78   the ripping process at runtime. A single binary can serve the diverse
79   hardware of the do-it-yourself computer laboratory from Hell...
81 -----------------------------------------------------------------------
83   Why use cdparanoia?
85   All CDROM drives are not created equal. You'll need cdparanoia if
86   yours is a little less equal than others-- or maybe you just keep your
87   CD collection in a box of full of gravel. Jewel cases are for wimps;
88   you know what I'm talking about.
90   Unfortunately, cdda2wav and readcdda cannot work properly with a large
91   number of CDROM drives in the desktop world today. The most common
92   problem is sporadic or regular clicks and pops in the read sample,
93   regardless of 'nsector' or 'overlap' settings. Cdda2wav also cannot do
94   anything about scratches (and they can cause cdda2wav to break).
95   Cdparanoia is also smarter about probing CDDA support from SCSI and
96   IDE-SCSI drives; many drives that do not work at all with cdda2wav,
97   readcdda, tosha, etc, will work just fine with cdparanoia.
99 -----------------------------------------------------------------------
101   What is Paranoia?
103   Paranoia is a library project that provides a platform independent,
104   unified, robust interface for packet-command based devices. In the
105   case of CDROM drives for example, handling and programming cdrom
106   drives becomes identical whether on Solaris or Linux, or if the Linux
107   drive is SCSI, ATAPI or on the parallel port. In this way, Paranoia is
108   similar to Joerg Schilling's SCG library.
110   In addition to device/platform unification, the library provides tools
111   for automatically identifying devices, and intelligent
112   handling/correction of errors at all levels of the interface. On top
113   of a generic low-level packet command layer, Paranoia implements
114   high-level error-correcting interfaces for tasks such as CDDA where
115   broken or vastly non-standard devices are the rule, rather than the
116   exception.
118   The Paranoia libraries are incomplete; the first release for use will
119   be Paranoia IV, to be bundled with cdparanoia alpha release 10.
120   Programming documentation for Paranoia IV will appear shortly on the
121   documentation page as Programming with Paranoia IV. Programmers
122   interested in contributing to Paranoia IV should read the heading
123   Paranoia IV development information.
125 -----------------------------------------------------------------------
127   Is cdparanoia / Paranoia portable?
129   Paranoia III is Linux only (although it runs on all the flavors of
130   linux with a 2.0 or later kernel. It is not only for x86).
132   Paranoia IV (cdparanoia alpha 10 and later) is a port to other UNIX
133   flavors and uses a substantially revised infrastructure. NetBSD and
134   Solaris will be first; others will be added as time and outside
135   assistance allow.
137   Suggestions on the proper way to handle each OS's native configuration
138   idioms are welcome. I want Rhapsody cdparanoia to look just like other
139   Rhapsody apps just as much as I want Linux cdparanoia to look like a
140   Linux app.
142 -----------------------------------------------------------------------
144   What is Paranoia's history?
146   Is cdparanoia/Paranoia related to cdda2wav?
148   Paranoia I/II and cdparanoia began life as a set of patches to Heiko
149   Eissfeldt's 'cdda2wav' application. Cdparanoia gained its own life as
150   a rewrite of cdda2wav in January of 1998 as "Paranoia III". Paranoia
151   III proved to have an inadequate structure for extention and use on
152   other platforms, so Paranoia IV began to take form in fall of 1998.
154   Modern Paranoia no longer has any relation to cdda2wav aside from
155   general cooperation in sharing details between the two projects. In
156   fact, cdda2wav itself doesn't look much like the cdda2wav of a year or
157   two ago.
159 -----------------------------------------------------------------------
161   What are the differences between Paranoia II, III and IV?
163   Paranoia I and II were a set of patches to Heiko Eissfeldt's cdda2wav
164   0.8. These patches did nothing more than add some error checks to the
165   standard cdda2wav. They were inefficient and only worked with some
166   drives.
168   Paranoia III was the first version to be written seperately from
169   cdda2wav in the form of a standalone library. It was not terribly
170   portable, however, and the API proved to be inadequate for extension.
172   Paranoia IV is the upcoming new generation of CDDA Paranoia. It is
173   both portable and more capable than Paranoia III.
175 -----------------------------------------------------------------------
177   Are there cdparanoia mailing lists for users or developers?
179   Yes. In addition to the mailing lists below, read-only CVS access to
180   Paranoia III and IV will be availble from xiph.org soon (Paranoia IV
181   is not yet under CVS). See http://www.xiph.org/paranoia/ for upto
182   date information and automated ways of subscribing.
184   Mailing list for Paranoia and Cdparanoia users (paranoia@xiph.org):
186   To join: send a message containing only the one-word line
187   'subscribe' in the body to paranoia-request@xiph.org. Do not send
188   subscription requests directly to the main list. The list server at
189   xiph.org should respond fairly quickly with a welcome message.
191   Mailing list for Paranoia IV developers: paranoia-dev@xiph.org
193   The developers list is intended for focused development discussion
194   amongst the core Paranoia development team and outside groups
195   developing their own applications using Paranoia. Of course, anyone is
196   welcome to read.
198   To join: send a message containing only the one-word line
199   'subscribe' in the body to paranoia-dev-request@xiph.org. Do not
200   send subscription requests directly to the main list.
202   List for general CDROM tools
204   There's also a general mailing list for those using/developing CDDA
205   extraction and CD writing tools
206   (cdwrite@other.debian.org). Subscribe by sending mail to
207   other-cdwrite-request@lists.debian.org containing only the word
208   subscribe in the body. Do not send subscription requests directly to
209   the main list.
211 -----------------------------------------------------------------------
213   What is Paranoia IV's current development status?
215   Paranoia IV code will soon be available for internal evaluation,
216   testing and development work to the developers involved in the
217   Paranoia project; read-only CVS access should also be available soon.
218   A public release does not yet set for any firm date.
220   Those interested in contributing to the development of Paranoia, or
221   who wich to contribute to porting to other platforms, please contact
222   us. Paranoia IV prerelease code will be available to porters soon; I
223   prefer to be in contact with those porting to other platforms so that
224   Paranoia development has consistent quality across platforms.
226   At the moment, volunteers have contacted me for most major platforms,
227   but more help is still welcome on every OS.
229 -----------------------------------------------------------------------
231   Will cdparanoia, and cdda2wav or xcdroast merge anytime in the future?
233   Probably not beyond the point it already has. Versions of XCDRoast
234   (and other GUI frontends; see the links page) that make use of
235   cdparanoia already exist.
237   Although the cdrecord/cdda2wav and Paranoia projects cooperate,
238   they're likely to remain seperate as the former is committed to Joerg
239   Schilling's libscg (part of the cdrecord package), just as cdparanoia
240   is committed to using Paranoia IV.
242 -----------------------------------------------------------------------
244   Questions about using Paranoia and cdparanoia
246   Requirements to run cdparanoia (as of alpha 3)
248     1. A CDDA capable CDROM drive
249     2. Linux 2.0, 2.1, 2.2 or 2.3
250          1. kernel support for the particular CDROM in use
251          2. kernel support for the generic SCSI interface (if using a
252             SCSI CDROM drive) and proper device (/dev/sg?) files (get
253             them with the MAKEDEV script) in /dev. Most distributions
254             already have the /dev/sg? files.
256   The cdparanoia binary will likely work with Linux 1.2 and 1.3, but I
257   do not actively support kernels older than 2.0 I do know for a fact
258   that the source will not build on kernel installs older than 2.0, but
259   the problems are mostly related to the ever-changing locations of
260   proprietary cdrom include files.
262   Also, although a 2.0 stock SCSI setup will work, performance will be
263   better if linux/include/scsi/sg.h defines SG_BIG_BUFF to 65536 (it
264   can't be bigger). Recent kernels (2.0.30+?) already set it to 32768;
265   that's OK. Cdparanoia will tell you how big your generic SCSI buffer
266   is. 2.2+ does not use a static DMA pool for SG, so there is nothing
267   to tune.
269   Unlike cdda2wav, cdparanoia does not require threading, IPC or
270   (optionally) sound card support. /proc filesystem support is no longer
271   required (but encouraged!), and /dev/sr? or /dev/scd? devices are not
272   required for SCSI, although they do add functionality if present.
274 -----------------------------------------------------------------------
276   Does Cdparanoia support ATAPI drives? SCSI Emulation? Parallel port
277   drives?
279   Alpha 9 supports the full ATAPI, IDE-SCSI and SCSI generic interfaces
280   under Linux.
282   Note that the native ATAPI driver is supported, but that IDE-SCSI
283   emulation works better with ATAPI drives. This is an issue of control;
284   the emulation interface gives cdparanoia complete control over the
285   drive whereas the native ATAPI driver insists on hiding the device
286   under an abstraction layer with poor error handling capabilities. Note
287   also that a number of ATAPI drives that do not work at all with the
288   ATAPI driver (error 006: Could not read audio) *will* work with
289   IDE-SCSI emulation.
291   Parallel port based CDROM (paride) drives are not yet supported;
292   support for these drives in Linux will appear in alpha release 10
293   (Paranoia IV).
295 -----------------------------------------------------------------------
297   I can play audio CDs perfectly; why is reading the CD into a file so
298   difficult and prone to errors? It's just the same thing.
300   Unfortunately, it isn't that easy.
302   The audio CD is not a random access format. It can only be played from
303   some starting point in sequence until it is done, like a vinyl LP.
304   Unlike a data CD, there are no synchronization or positioning headers
305   in the audio data (a CD, audio or data, uses 2352 byte sectors. In a
306   data CD, 304 bytes of each sector is used for header, sync and error
307   correction. An audio CD uses all 2352 bytes for data). The audio CD
308   *does* have a continuous fragmented subchannel, but this is only good
309   for seeking +/-1 second (or 75 sectors or ~176kB) of the desired area,
310   as per the SCSI spec.
312   When the CD is being played as audio, it is not only moving at 1x, the
313   drive is keeping the media data rate (the spin speed) exactly locked
314   to playback speed. Pick up a portable CD player while it's playing and
315   rotate it 90 degrees. Chances are it will skip; you disturbed this
316   delicate balance. In addition, a player is never distracted from what
317   it's doing... it has nothing else taking up its time. Now add a
318   non-realtime, (relatively) high-latency, multitasking kernel into the
319   mess; it's like picking up the player and constantly shaking it.
321   CDROM drives generally assume that any sort of DAE will be linear and
322   throw a readahead buffer at the task. However, the OS is reading the
323   data as broken up, seperated read requests. The drive is doing
324   readahead buffering and attempting to store additional data as it
325   comes in off media while it waits for the OS to get around to reading
326   previous blocks. Seeing as how, at 36x, data is coming in at
327   6.2MB/second, and each read is only 13 sectors or ~30k (due to DMA
328   restrictions), one has to get off 208 read requests a second, minimum
329   without any interruption, to avoid skipping. A single swap to disc or
330   flush of filesystem cache by the OS will generally result in loss of
331   streaming, assuming the drive is working flawlessly. Oh, and virtually
332   no PC on earth has that kind of I/O throughput; a Sun Enterprise
333   server might, but a PC does not. Most don't come within a factor of
334   five, assuming perfect realtime behavior.
336   To keep piling on the difficulties, faster drives are often prone to
337   vibration and alignment problems; some are total fiascos. They lose
338   streaming *constantly* even without being interrupted. Philips
339   determined 15 years ago that the CD could only be spun up to 50-60x
340   until the physical CD (made of polycarbonate) would deform from
341   centripetal force badly enough to become unreadable. Today's players
342   are pushing physics to the limit. Few do so terribly reliably.
344   Note that CD 'playback speed' is an excellent example of advertisers
345   making numbers lie for them. A 36x cdrom is generally not spinning at
346   36x a normal drive's speed. As a 1x drive is adjusting velocity
347   depending on the access's distance from the hub, a 36x drive is
348   probably using a constant angular velocity across the whole surface
349   such that it gets 36x max at the edge. Thus it's actually spinning
350   slower, assuming the '36x' isn't a complete lie, as it is on some
351   drives.
353   Because audio discs have no headers in the data to assist in picking
354   up where things got lost, most drives will just guess.
356   This doesn't even *begin* to get into stupid firmware bugs. Even
357   Plextors have occasionally had DAE bugs (although in every case,
358   Plextor has fixed the bug *and* replaced/repaired drives for free).
359   Cheaper drives are often complete basket cases.
361   Rant Update (for those in the know):
363   Several folks, through personal mail and on Usenet, have pointed out
364   that audio discs do place absolute positioning information for (at
365   least) nine out of every ten sectors into the Q subchannel, and that
366   my original statement of +/-75 sectors above is wrong. I admit to it
367   being misleading, so I'll try to clarify.
369   The positioning data certainly is in subchannel Q; the point is moot
370   however, for a couple of reasons.
372     1. The SCSI and ATAPI specs (there are a couple of each, pick one)
373        don't give any way to retrieve the subchannel from a desired
374        sector. The READ SUB-CHANNEL command will hand you Q all right,
375        you just don't have any idea where exactly that Q came from. The
376        command was intended for getting rough positioning information
377        from audio discs that are paused or playing. This is audio;
378        missing by several sectors is a tiny fraction of a second.
380     2. Older CDROM drives tended not to expect 'READ SUB-CHANNEL' unless
381        the drive was playing audio; calling it during data reads could
382        crash the drive and lock up the system. I had one of these drives
383        (Apple 803i, actually a repackaged Sony CD-8003).
385     3. MMC-2 *does* give a way to retrieve the Q subchannel along with
386        user data in the READ CD command. Although the drive is required
387        to recognize the fetaure, it is allowed to simply return zeroes
388        (effectively leaving the feature unimplemented). Guess how many
389        drives actually implement this feature: not many.
391     4. Assuming you *can* get back the subchannel, most CDROM drives
392        seem to understand audio discs primarily at the "little frame"
393        level; thus sector-level structures aren't reliable. One might
394        get a reassembled subQ, but if the read began in the middle of a
395        sector (or dropped a little frame in the middle; many do), the
396        subQ is likely corrupt and useless.
398   As reassembling uncorrupted frames is easy without the subchannel, and
399   corrupted reads likely result in a corrupted subchannel too,
400   cdparanoia treats the subchannel as more trouble than it's worth
401   (during verification).
403   At least one other package (Exact Audio Copy for Win32) manages to use
404   the subchannel to enhance the Table of Contents information. I don't
405   know if this only works on MMC-2 drives that support returning Q with
406   READ CD, but I think I'm going to revisit using the subchannel for
407   extra TOC information.
409 -----------------------------------------------------------------------
411   Does cdparanoia lose quality from the CD recording? Does it just
412   re-record the analog signal played from the CDROM drive?
414   No to both. Cdparanoia (and all other true CD digital audio extraction
415   tools) reads the values off the CDROM in digital form. The data never
416   comes anywhere near the soundcard, and does not pass through any
417   conversion to analog first.
419 -----------------------------------------------------------------------
421   Can cdparanoia detect pregaps? Can it remove the two second gaps
422   between tracks
424   Not yet. This feature is slated to appear in a release of alpha 10
425   (Paranoia IV).
427 -----------------------------------------------------------------------
429   Why don't you implement CDDB? A GUI? Four million other features I
430   want?
432   Too many features spoil the broth. "Software is not perfect when there
433   is nothing left to add, but rather when there is nothing extraneous
434   left to take away." The goal of cdparanoia is perfect, rock-solid
435   audio from every capable cdrom on every platform. As this goal has not
436   yet been met, I'm uninterested in adding unrelated capability to the
437   core engine.
439   Several GUIs that incorporate cdparanoia already exist; I'm in the
440   process of compiling a list (see the links page). Other software that
441   implements new features by wrapping around cdpar anoia (like CDDB
442   lookup) also exist.
444   'Cdparanoia' will not play to sound cards (you can always pipe the
445   output to a WAV player), do MD5 signatures, read CD catalog or serial
446   numbers (this *is* a feature I plan to add), search indexes, do rate
447   reduction (use Sox, Ogg or a million others), or generally make use of
448   the maximum speed available from a CDROM drive.
450   If your CDROM drive is *not* prone to jitter and you don't have
451   scratched discs to worry about, you might want to look at the original
452   cdda2wav for features cdparanoia does not have. Keep in mind however
453   that even the really good drives do occasionally stumble. I know of at
454   least one cdparanoia user who insists on using full paranoia with his
455   Plextor UltraPlex because it once botched a single sector from a rip;
456   he'd already burned the track to several CD-Rs before noticing...
458 -----------------------------------------------------------------------
460   The progress meter: What is that weird bargraph during ripping?
462   It's a progress/status indicator. There's a completion bargraph, a
463   number indicating the last sector number completely verified of the
464   read currently happening, an overlap indicator, a gratuitous smilie,
465   and a heartbeat indicator to show if the process is still alive, hung,
466   or spinning.
468   The bargraph also marks points during the read with characters to
469   indicate where various 'paranoia' features were tripped into action.
470   Different bargraph characters indicate different things occurred
471   during that part of the read. The letters are heirarchical; for
472   example if a trasport error occurs in the same sector as jitter, the
473   bargraph will print 'e' instead of '-'.
475     Legend of
476    characters
477                 A hyphen indicates that two blocks overlapped properly,
478         -       but they were skewed (frame jitter). This case is
479                 completely corrected by Paranoia and is not a cause for
480                 concern.
481                 A plus indicates not only frame jitter, but an
482                 unreported, uncorrected loss of streaming in the middle
483         +       of an atomic read operation. That is, the drive lost
484                 its place while reading data, and restarted in some
485                 random incorrect location without alerting the kernel.
486                 This case is also corrected by Paranoia.
487                 An 'e' indicates that a transport level SCSI or ATAPI
488         e       error was caught and corrected. Paranoia will
489                 completely repair such an error without audible
490                 defects.
491                 An "X" indicates a scratch was caught and corrected.
492         X       Cdparanoia wil interpolate over any missing/corrupt
493                 samples.
494                 An asterisk indicates a scratch and jitter both
495         *       occurred in this general area of the read. Cdparanoia
496                 wil interpolate over any missing/corrupt samples.
497                 A ! indicates that a read error got through the stage
498                 one of error correction and was caught by stage two.
499                 Many '!' are a cause for concern; it means that the
500                 drive is making continuous silent errors that look
501         !       identical on each re-read, a condition that can't
502                 always be detected. Although the presence of a '!'
503                 means the error was corrected, it also means that
504                 similar errors are probably passing by unnoticed.
505                 Upcoming releases of cdparanoia will address this
506                 issue.
507                 A V indicates a skip that could not be repaired or a
508         V       sector totally obliterated on the medium (hard read
509                 error). A 'V' marker generally results in some audible
510                 defect in the sample.
512   The smilie is actually relevant. It makes different faces depending on
513   the current errors it's correcting.
515    Legend of
516    smilies
518       :-)    Normal operation. No errors to report; if any jitter is
519              present, it's small.
520       :-|    Normal operation, but average jitter is quite large.
521              A rift was found in the middle of an atomically read
522              block; in other words, the drive lost streaming in the
523       :-P    middle of a read and did not abort, alert the kernel , or
524              restart in the proper location. The drive silently
525              continued reading in so me random location.
527       :-/    The read appears to be drifting; cdparanoia is shifting
528              all of its reads to make up for it.
529              Two matching vectors were found to disagree even after
530              first stage verification; this is an indication that the
531              drive is reliably dropping/adding bytes at consistent
532              locations. Because the verification algorithm is partially
533       8-|    based on rereading and comparing vectors, if two vectors
534              read incorrectly but identically, cdparanoia may never
535              detect the problem. This smilie indicates that such a
536              situation *was* detected; other instances may be slipping
537              through.
538              Transport or drive error. This is normally not a cause for
539              concern; cdparanoia can repair just about any error that
540       :-0    it actually detects. For more information about these
541              errors, run cdparanoia with the -v option. Any all all
542              errors and a description will dump to stderr.
543       :-(    Cdparanoia detected a scratch.
544              Cdparanoia gave up trying to repair a sector; it could not
545              read consistent enough information from the drive to do
546       ;-(    so. At this point cdparanoia will make the best guess it
547              has available and continue (a V appears in the bargraph at
548              this point). This often results in an audible defect.
549              Cdparanoia displays this smilie both when finished reading
550       :^D    a track and also if no error correction mechanism has been
551              tripped so far reading a new track.
553 -----------------------------------------------------------------------
555   How can I tell if my drive would be OK with regular cdda2wav?
557   Easy. Run cdparanoia; if the progress meter never shows any characters
558   but the little arrow going across the screen, the CDROM drive is
559   probably one of the (currently) few drives that can read a pristine
560   stream of data off an audio disc regardless of circumstances. This
561   drive will work quite well with cdda2wav (or cdparanoia using the '-Z'
562   option)
564   A drive that results in a bargraph of all hyphens would *likely* work
565   OK with cdda2wav, but it's less certain.
567   Any other characters in the bargraph (colons, semicolons, pluses, Xs,
568   etc..) indicate that a fixups had to be performed at that point during
569   the read; that read would have failed or 'popped' using cdda2wav.
571 -----------------------------------------------------------------------
573   What is the biggest value of SG_BIG_BUFF I can use?
575   This is relevant only to 2.0 kernels and early 2.2 kernels.
576   Modern Linux kernels no longer have a single static SG DMS pool.
578   For 2.0, 65536 (64 kilobytes). Some motherboards can use 128kB
579   DMA, but attempting to use 128kB DMA on a machine that can't do
580   it will crash the machine. Cdparanoia will not use larger than
581   64kB requests.
583 -----------------------------------------------------------------------
585   Why do the binary files from two reads differ when compared?
587   The problem is the beginning point of the read. Cdparanoia enforces
588   consistency from whatever the drive considers to be the starting point
589   of the data, and the drive is returning a slightly different beginning
590   point each time. The beginning point should not vary by much, and if
591   this shift is accounted for when comparing the files, they should
592   indeed turn out to be the same (aside from errors duly reported during
593   the read; scratch correction or any reported skips will very likely
594   also result in different files).
596 -----------------------------------------------------------------------
598   Why do CDParanoia, CDDA2WAV et al. rip files off into WAV format (and
599   other sample formats) but not CDDA format?
601   WAV and AIFC are simply convenient formats that include enough header
602   information such that multipurpose audio software can uniquely
603   identify the form of the data in the sample. In raw form, mulaw, SND
604   and CDDA look exactly alike to a program like xplay, and are very
605   likely to blow your ears (and stereo) out when played! Header formats
606   are more versatile and safer. By default, cdparanoia and cdda2wav
607   write WAV files.
609   That said, cdparanoia (and cdda2wav) will write raw, headerless
610   formats if explicitly told to. Cdparanoia writes headerless, signed 16
611   bit, 44.1kHz stero files in little endian format (LSB first) when
612   given the -r option, and the same in big endian (MSB) format when
613   given -R. All files written by cdparanoia are a multiple of 2352 bytes
614   long (minus the header, if any) as required by cd writer software.
617 Cdparanoia and the Laser-Playback-Head-of-Omniscience logo are
618 trademarks (tm) of Xiphophorus (xiph.org). This document copyright (C)
619 1994-1999 Xiphophorus. All rights reserved.  Comments and questions
620 are welcome.