cdrdao.man
上传用户:weiliju62
上传日期:2007-01-06
资源大小:619k
文件大小:18k
源码类别:

SCSI/ASPI

开发平台:

MultiPlatform

  1. .TH CDRDAO 1 "Oct 17, 1999"
  2. .SH NAME
  3. cdrdao - writes audio CD-Rs in disc-at-once mode
  4. .SH SYNOPSIS
  5. .B cdrdao
  6. .RB [ show-toc | read-toc | read-cd | show-data | read-test | disk-info | simulate | write | copy]
  7. .RB [ --device
  8. .IR device ]
  9. .RB [ --source-device
  10. .IR device ]
  11. .RB [ --driver
  12. .IR driver-id ]
  13. .RB [ --source-driver
  14. .IR driver-id ]
  15. .RB [ --simulate ]
  16. .RB [ --speed
  17. .IR writing-speed ]
  18. .RB [ --datafile
  19. .IR file ]
  20. .RB [ --read-raw ]
  21. .RB [ --fast-toc ]
  22. .RB [ --buffers
  23. .IR buffer-count ]
  24. .RB [ --multi ]
  25. .RB [ --eject ]
  26. .RB [ --swap ]
  27. .RB [ --session ]
  28. .RB [ --force ]
  29. .RB [ --reload ]
  30. .RB [ --on-the-fly ]
  31. .RB [ --paranoia-mode
  32. .IR mode ]
  33. .RB [ -n ]
  34. .RB [ -v 
  35. .IR verbose-level ]
  36. .RI toc-file
  37. .SH DESCRIPTION
  38. .I cdrdao
  39. creates audio and data CD-Rs in disk-at-once (DAO) mode driven by a description
  40. file called
  41. .I toc-file.
  42. In DAO mode it is possible to create non standard track pre-gaps that
  43. have other lengths than 2 seconds and contain nonzero audio
  44. data. This is for example useful to divide live recordings into
  45. tracks where 2 second gaps would be kind of irritating.
  46. Instead of a
  47. .I toc-file
  48. a cue file (used by a famous DOS/Windows mastering tool) may be used. See
  49. the CUE FILES section for more details. 
  50. .SH COMMANDS
  51. .TP
  52. The first argument must be one of the following commands:
  53. .TP
  54. .BI show-toc
  55. Print out a summary about what will be written to the CD-R.  
  56. .TP
  57. .BI read-toc
  58. Analyze each track of the inserted CD and create a
  59. .I toc-file
  60. that can be used to make a more or less exact copy of the CD. 
  61. This command does not read out the audio or data tracks,
  62. use
  63. .BI read-cd
  64. for this purpose.
  65. You can specify a filename for the data file via the
  66. .BI --datafile
  67. option.
  68. .TP
  69. .BI read-cd
  70. Copies all tracks of the inserted CD to an image file and creates a corresponding
  71. .I toc-file.
  72. The name of the image file defaults to "data.bin" if no
  73. .BI --datafile
  74. option is given.
  75. .TP
  76. .BI show-data
  77. Print out all samples that would be written to the CD-R. Each line
  78. contains the sample number (starting at 0) and the decimal sample
  79. value for the left and right channel. Useful to check if the byte
  80. order of audio files is correct.
  81. .TP
  82. .BI read-test
  83. Check if all data can be read from the audio files that are defined in
  84. the
  85. .I toc-file.
  86. This will also check the communication with the slave process that is
  87. responsible for writing the audio data to the CD-recorder. Mainly used
  88. for testing.
  89. .TP
  90. .BI disk-info
  91. Shows information about the inserted CD-R. If the CD-R has an open session
  92. it will also print the start of the last and current session which is
  93. used by mkisofs to create an image for a second or higher session.
  94. .TP
  95. .BI simulate
  96. Like
  97. .BI write
  98. but laser stays cold. It is a shortcut for
  99. .BI write --simulate.
  100. .TP
  101. .BI write
  102. Write the CD-R according to the specifications in the
  103. .I toc-file.
  104. .TP
  105. .BI copy
  106. Performs all steps to copy a CD. The device containing the source CD must
  107. be specified with option
  108. .BI --source-device
  109. and the recorder device with option
  110. .BI --device.
  111. If only a single device is available the option
  112. .BI --source-device
  113. must be omitted and cdrdao will prompt to insert the CD-R after an image
  114. of the source CD was created.
  115. The image file with name "cddata<pid>.bin" will be created in the current
  116. working directory if no
  117. .BI --datafile
  118. option is given. The created image will be removed after it has been
  119. written.
  120. If option
  121. .BI --on-the-fly
  122. is given no image file is created and the data will be directly piped from
  123. the reading device to the CD recorder.
  124. .SH OPTIONS
  125. .TP
  126. .BI --device " bus,id,lun"
  127. Sets the SCSI address of the CD-recorder in form of a bus/id/lun
  128. triple, e.g. '0,2,0' for the logical unit 0 of SCSI device with ID 2
  129. on bus 0. On some systems a device node may be specified directly,
  130. e.g. '/dev/sg0' on Linux systems.
  131. .TP
  132. .BI --source-device " bus,id,lun"
  133. Like above but used for the
  134. .BI copy
  135. command to specify the source device.
  136. .TP
  137. .BI --driver " driver-id:option-flags"
  138. Force usage of specified driver instead of the automatically
  139. determined driver. Available driver IDs:
  140. .br
  141. cdd2600, plextor, plextor-scan, generic-mmc, generic-mmc-raw,
  142. ricoh-mp6200, yamaha-cdr10x, teac-cdr55, sony-cdu920, sony-cdu948,
  143. taiyo-yuden
  144. .br
  145. Specifying an illegal driver ID will give a list of available drivers.
  146. Option flags may be used to modify the behavior of some drivers. See
  147. .BI README
  148. for details.
  149. .TP
  150. .BI --source-driver " driver-id:option-flags"
  151. Like above but used for the device specified with option
  152. .BI --source-device.
  153. .TP
  154. .BI --speed " value"
  155. Set the writing speed to
  156. .I value.
  157. Default is the highest possible speed.
  158. .TP
  159. .BI --datafile " file"
  160. Used for
  161. .BI read-toc, read-cd
  162. and
  163. .BI copy.
  164. Set the default data file placed in the toc-file by
  165. .BI read-toc. Use "-" to indicate STDIN.
  166. For commands
  167. .BI read-cd
  168. and
  169. .BI copy
  170. it specifies the name of the created image file.
  171. .TP
  172. .BI --read-raw
  173. Only used for command
  174. .BI read-cd.
  175. All data sectors will be written as 2352 byte blocks including the sector
  176. header and L-EC data to the image file. The track mode will be set to
  177. MODE1_RAW or MODE2_RAW in the created
  178. .I toc-file.
  179. .TP
  180. .BI --fast-toc
  181. Only used for command
  182. .BI read-toc.
  183. This option suppresses the pre-gap length and index mark extraction
  184. which
  185. speeds up the read-toc process. Standard 2 second pre-gaps (but no
  186. silence!) will be placed into the toc-file. The resulting CD will
  187. sound like the source CD. Only the CD player's display will behave
  188. slightly different in the transition area between two tracks.
  189. This option might help, too, if read-toc fails with your drive otherwise.
  190. .TP
  191. .BI --buffers " buffer-count"
  192. Specifies the number of buffers that are allocated to avoid buffer under runs.
  193. The minimal buffer count is fixed to 10, default is 32 except
  194. on FreeBSD systems, on which default is 20.
  195. Each buffer holds 1 second of audio data so that dividing
  196. .I buffer-count
  197. by the writing speed gives the maximum time for which reading of audio data
  198. may be stalled.
  199. .TP
  200. .BI --multi
  201. If this option is given the session will not be closed after the audio data
  202. is successfully written. It is possible to append another session on such
  203. disks, e.g. to create a CD-EXTRA.
  204. .TP
  205. .BI --eject
  206. Eject the CD-R after writing or write simulation.
  207. .TP
  208. .BI --swap
  209. Swap the byte order of all samples that are send to the CD-recorder.
  210. .TP
  211. .BI --session " session-nr"
  212. Used for
  213. .BI read-toc
  214. and
  215. .BI read-cd
  216. to specify the session which should be processed on multi session CDs.
  217. .TP
  218. .BI --reload
  219. Indicates that the tray may be opened before writing without prompting
  220. the user to reset the disk status after a simulation run.
  221. .TP
  222. .BI --force
  223. Forces the execution of an operation that otherwise would not be
  224. performed.
  225. .TP
  226. .BI --paranoia-mode " mode"
  227. Sets the correction mode for digital audio extraction. 0: No checking,
  228. data is copied directly from the drive. 1: Perform overlapped reading
  229. to avoid jitter. 2: Like 1 but with additional checks of the read
  230. audio data. 3: Like 2 but with additional scratch detection and
  231. repair.
  232. The extraction speed reduces from 0 to 3.
  233. .TP
  234. .BI --on-the-fly
  235. Perform CD copy on the fly without creating an image file.
  236. .TP
  237. .BI -n
  238. Suppresses the 10 second pause before writing or simulating.
  239. .TP
  240. .BI -v " verbose-level
  241. Sets verbose level. Levels > 2 are debug levels which produce a lot of
  242. output.
  243. .SH "TOC FILES"
  244. The
  245. .I toc-file
  246. describes what data is written to the CD-R and allows control
  247. over track/index positions, pre-gaps and sub-channel information. It
  248. is a simple text file, use your favorite text editor to create it.
  249. A
  250. .I toc-file
  251. contains an optional header and a sequence of track
  252. specifications. Comments starting with '//' reaching until end of line can be
  253. placed anywhere.
  254. .SS Header
  255. .IP CATALOG "ddddddddddddd"
  256. Specifies the optional catalog number of the CD. The string must
  257. contain exactly 13 digits.
  258. .LP
  259. The following flags specify the type of session that will be created. It
  260. is used to create the correct CD-TOC format and to check the consistency of
  261. the track modes for the desired session type. If multiple flags are given
  262. the last one will take effect.
  263. .IP CD_DA 
  264. The disc contains only audio tracks.
  265. .IP CD_ROM
  266. The disc contains just mode 1 tracks or mode 1 and audio tracks (mixed
  267. mode CD).
  268. .IP CD_ROM_XA
  269. The disc contains mode 2 form 1 or mode 2 form 2 tracks. Audio tracks
  270. are allowed, too. This type must be used if multi session disks are
  271. created (option --multi).
  272. .IP CD_TEXT { ... }
  273. Defines global CD-TEXT data like the album title and the used languages.
  274. See the CD-TEXT section below for the syntax of the CD-TEXT block contents.
  275. .SS Track Specification
  276. .IP TRACK <track-mode>
  277. Starts a new track, the track number is incremented by 1. The length
  278. of a track must be at least 4 seconds. The block length of the input
  279. data depends on the <track-mode>: AUDIO: 2352 bytes (588 samples),
  280. MODE1: 2048 bytes, MODE1_RAW: 2352 bytes, MODE2: 2336 bytes,
  281. MODE2_FORM1: 2048 bytes, MODE2_FORM2: 2324 bytes, MODE2_FORM_MIX: 2336 bytes
  282. including the sub-header, MODE2_RAW: 2352 bytes. 
  283. If the input data length is not a multiple of the block length  it
  284. will be padded with zeros. 
  285. .LP
  286. The following flags may follow the track start statement. They are
  287. used to set sub-channel information for the current track. Each flag
  288. is optional. If not given the following defaults are used: copy not
  289. permitted, no pre emphasis, two channel audio, no ISRC code. 
  290. .IP "[ NO ] COPY"
  291. Sets or clears the copy permitted flag. 
  292. .IP "[ NO ] PRE_EMPHASIS"
  293. Sets or clears the pre emphasis flag (only for audio tracks).
  294. .IP TWO_CHANNEL_AUDIO
  295. Indicates that track contains two channel audio data (only for audio tracks).
  296. .IP FOUR_CHANNEL_AUDIO
  297. Indicates that track contains four channel audio data (only for audio tracks).
  298. .IP ISRC "CCOOOYYSSSSS" 
  299. Sets ISRC code of track (only for audio tracks).
  300. .br
  301. C: country code (upper case letters or digits)
  302. .br
  303. O: owner code (upper case letters or digits)
  304. .br
  305. Y: year (digits)
  306. .br
  307. S: serial number (digits)
  308. .LP
  309. An optional CD-TEXT block that defines the CD-TEXT data for this track
  310. may follow. See the CD-TEXT section below for the syntax of the CD-TEXT
  311. block contents.
  312. .IP "CD_TEXT { ... }"
  313. .LP
  314. At least one of the following statements must appear to specify the
  315. data for the actual track. Lengths and start positions may be
  316. expressed in samples (1/44100 seconds) for audio tracks or in bytes
  317. for data tracks. It is also possible to give the length in blocks
  318. with the MSF format 'MM:SS:FF' specifying minutes, seconds and frames
  319. (0 <= 'FF' < 75) . A frame equals one block. 
  320. If more than one statement is used the track will be composed by
  321. concatenating the data in the specified order.
  322. .IP "SILENCE <length>"
  323. Adds zero audio data of specified length to actual audio track. 
  324. Useful to create silent pre-gaps.
  325. .IP "ZERO <length>"
  326. Adds zero data to data tracks. Must be used to
  327. define pre- or post-gaps between tracks of different mode.
  328. .IP [ FILE | AUDIOFILE ] "<filename>" <start> [ <length> ]
  329. Adds the audio data of specified file to actual audio track. It is possible
  330. to select a portion of an audio file with <start> and <length>
  331. which allows non destructive cutting. The first sample of an audio file is
  332. addressed with <start> = 0. If <length> is omitted or set to 0 all
  333. audio data from <start> until the end of file is used.
  334. Audio files may have raw or WAVE format with 16 bits per sample, 44.1
  335. kHz sampling rate, stereo. Raw files must have the layout 'MSBLeft
  336. LSBLeft MSBRight LSBRight ...' (big endian byte order). WAVE files are
  337. expected to have little endian byte order. The option --swap reverses
  338. the expected byte order for all raw and WAVE files. Only filenames
  339. with a ".wav" ending are treated as WAVE files, all other names are
  340. assumed to be raw audio files. Use tools like sox(1) to convert other
  341. file formats to supported formats.
  342. Specifying a "-" as filename causes data to be read from STDIN. Currently
  343. only raw files are supported from STDIN.
  344.  
  345. If you are unsure about the byte order of your audio files try the
  346. command 'show-data'. If the byte order is correct you will see a
  347. sequence of increasing or decreasing numbers for both
  348. channels. Otherwise numbers are jumping between very high and low
  349. values - high volume static.
  350. .IP DATAFILE "<filename>" [ <length> ]
  351. Adds data from given file to actual data track. If <length> is omitted
  352. the actual file length will be used.
  353. .IP "START [ MM:SS:FF ]"
  354. Defines the length of the pre-gap (position where index switches from
  355. 0 to 1). If the MSF value is omitted the current track length is
  356. used. If the current track length is not a multiple of the block
  357. length the pre-gap length will be rounded up to next block boundary.
  358. If no START statement is given the track will not have a pre-gap.
  359. .IP "PREGAP MM:SS:FF"
  360. This is an alternate way to specify a pre-gap with zero audio data. It
  361. may appear before the first SILENCE, ZERO or FILE statement. Either PREGAP
  362. or START can be used within a track specification. It is equivalent to
  363. the sequence
  364. .br
  365.   SILENCE MM:SS:FF
  366. .br
  367.   START
  368. .br
  369. for audio tracks or
  370. .br
  371.   ZERO MM:SS:FF
  372. .br
  373.   START
  374. .br
  375. for data tracks.
  376. .LP
  377. Nothing prevents mixing 'DATAFILE'/'ZERO' and 'AUDIOFILE'/'SILENCE'
  378. statements within the same track. The results, however, are undefined.
  379. The end of a track specification may contain zero or more index
  380. increment statements:
  381. .IP "INDEX MM:SS:FF"
  382. Increments the index number at given position within the track. The
  383. first statement will increment from 1 to 2. The position is relative
  384. to the real track start, not counting an existing pre-gap.
  385. .SS CD-TEXT Blocks
  386. A CD-TEXT block may be placed in the global section to define data valid for
  387. the whole CD and in each track specification of a
  388. .I toc-file.
  389. The global section may define a language map that is used to map a
  390. .I language-number
  391. to country codes. Up to 8 different languages can be defined:
  392. .IP "LANGUAGE_MAP { 0 : c1  1 : c2  ...  7 : c7 }"
  393. The country code may be an integer value in the range 0..255 or one of the
  394. following countries (the corresponding integer value is placed in braces 
  395. behind the token): EN(9, English)
  396. .br
  397. It is just necessary to define a mapping for the used languages. The mapping
  398. for the remaining language-numbers will be undefined and those language-numbers
  399. should not be used.
  400. .br
  401. Currently I am only aware of the country code for English but it is possible
  402. to make some tests with the general integer format.
  403. .LP
  404. If no language map is defined 
  405. .I language-number
  406. 0 will be mapped to English. The mapping for the language-numbers 1 to 7
  407. will be undefined.
  408. For each language a language block must exist that defines the actual data
  409. for a certain language.
  410. .IP "LANGUAGE language-number { cd-text-item cd-text-data cd-text-item cd-text-data ... }"
  411. Defines the CD-TEXT items for given
  412. .I language-number
  413. which must be defined in the language map. 
  414. .LP
  415. The
  416. .I cd-text-data
  417. may be either a string enclosed by " or binary data like
  418. .nf
  419. .in +.5i
  420. { 0, 10, 255, ... }
  421. .in -.5i
  422. .fi
  423. where each integer number must be in the range 0..255.
  424. .br
  425. The
  426. .I cd-text-item
  427. may be one of the following:
  428. .IP TITLE
  429. String data: Title of CD or track.
  430. .IP PERFORMER
  431. String data.
  432. .IP SONGWRITER
  433. String data.
  434. .IP COMPOSER
  435. String data.
  436. .IP ARRANGER
  437. String data.
  438. .IP MESSAGE
  439. String data. Message to the user.
  440. .IP DISC_ID
  441. String data: Should only appear in the global CD-TEXT block. The format is
  442. usually: XY12345
  443. .IP GENRE
  444. I am not sure if this item should contain string or binary data.
  445. .IP TOC_INFO1
  446. Binary data: Structure currently unknown. Should only appear in the global
  447. CD-TEXT block.
  448. .IP TOC_INFO2
  449. Binary data: Structure currently unknown. Should only appear in the global
  450. CD-TEXT block.
  451. .IP UPC_EAN
  452. String data: This item should only appear in the global CD-TEXT block. Was
  453. always an empty string on the CD-TEXT CDs I had access to.
  454. .IP ISRC
  455. String data: ISRC code of track. The format is usually: CC-OOO-YY-SSSSS
  456. .IP SIZE_INFO
  457. Binary data: Contains summary about all CD-TEXT data and should only appear
  458. in the global CD-TEXT block. This item is automatically created if not present.
  459. If CD-TEXT data is read via
  460. .BI read-toc
  461. or
  462. .BI read-cd
  463. and modified afterwards the SIZE_INFO item must be deleted because the data
  464. will not be valid anymore.
  465. .LP
  466. If one of the CD-TEXT items TITLE, PERFORMER, SONGWRITER, COMPOSER, ARRANGER,
  467. ISRC is defined for at least on track it must be defined for all tracks. If a
  468. CD-TEXT item is missing for a track and it is defined in the global CD-TEXT
  469. block the data from the global CD-TEXT block is used for the track.
  470. It is currently not possible to write CD-TEXT CDs with more than one language.
  471. The resulting CD will not be accepted by a CD-TEXT capable CD player.
  472. .SS Examples
  473. Simple track without pre-gap with all audio data from WAVE file
  474. "data.wav":
  475. .nf
  476. .in +.5i
  477. CD_DA
  478. TRACK AUDIO
  479. FILE "data.wav" 0
  480. .in -.5i
  481. .fi
  482. Standard track with two second pre-gap, ISRC code and CD-TEXT:
  483. .nf
  484. .in +.5i
  485. CD_DA
  486. CD_TEXT {
  487.   LANGUAGE_MAP {
  488.     0 : EN
  489.   }
  490.   LANGUAGE 0 {
  491.     TITLE "CD Title"
  492.     PERFORMER "Performer"
  493.     DISC_ID "XY12345"
  494.     UPC_EAN ""
  495.   }
  496. }
  497. TRACK AUDIO
  498. ISRC "DEXXX9800001"
  499. CD_TEXT {
  500.   LANGUAGE 0 {
  501.     TITLE "Track Title"
  502.     PERFORMER "Performer"
  503.     ISRC "DE-XXX-98-00001"
  504.   }
  505. }
  506. PREGAP 0:2:0
  507. FILE "data.wav" 0
  508. .in -.5i
  509. .fi
  510. Track with 10 second pre-gap containing audio data from raw file
  511. "data.cdr":
  512. .nf
  513. .in +.5i
  514. CD_DA
  515. TRACK AUDIO
  516. FILE "data.cdr" 0 
  517. START 0:10:0
  518. .in -.5i
  519. .fi
  520. Composed track with data from different files. Pre-gap data and length
  521. is taken from "pregapdata.wav". The first minute of
  522. "track.cdr" is omitted and two seconds silence are inserted at
  523. '2:0:0'. Index will be incremented after 2 and 4 minutes past track start:
  524. .nf
  525. .in +.5i
  526. CD_DA
  527. TRACK AUDIO
  528. FILE "pregapdata.wav" 0 
  529. START
  530. FILE "track.cdr" 1:0:0 1:0:0
  531. SILENCE 0:2:0
  532. FILE "track.cdr" 2:0:0
  533. INDEX 2:0:0
  534. INDEX 4:0:0
  535. .in -.5i
  536. .fi
  537. Mixed mode CD with a data track as first track followed by two audio tracks.
  538. .nf
  539. .in +.5i
  540. CD_ROM
  541. TRACK MODE1
  542. DATAFILE "data_1"
  543. ZERO 00:02:00 // post-gap
  544. TRACK AUDIO
  545. SILENCE 00:02:00 // pre-gap
  546. START
  547. FILE "data_2.wav" 0 
  548. TRACK AUDIO
  549. FILE "data_3.wav" 0
  550. .in -.5i
  551. .fi
  552. .SH CUE FILES
  553. Cue files may be used wherever a
  554. .I toc-file
  555. is expected. The corresponding bin file is not taken from the FILE statement
  556. of a cue file but constructed from the cue file name by replacing ".cue" by
  557. ".bin". The cue file must have exactly one FILE statement.
  558. Currently, following track modes are supported: MODE1/2048, MODE1/2352,
  559. MODE2/2336, MODE2/2352. The CATALOG, ISRC and POSTGAP statements are
  560. parsed but not evaluated, yet. 
  561. .SH BUGS
  562. If the program is terminated during the write/simulation process used IPC
  563. resources may not be released. Use ipcs(8) and ipcrm(8) to delete them.
  564. .SH AUTHOR
  565. Andreas Mueller mueller@daneb.ping.de
  566. .SH SEE ALSO
  567. .BR cdda2wav "(1), "cdparanoia "(1), " sox "(1), " ipcs "(8), " ipcrm (8)