7

I need to clone an audio CD, including the defined pauses between tracks. Under Linux, cdrdao would do the trick for me, but I cannot get the version from MacPorts to work — it will not read from my SuperDrive.

Could someone please tell me how to clone a CD with a MacBook Pro under Mountain Lion?

9

First, what does not work:

  1. Some people suggest Burn, but it is no longer updated and does not work on modern versions of OS X.
  2. Some people suggest LiquidCD, but it is no longer updated and does not work on modern versions of OS X.
  3. Some people suggest Disk Utility, which is great for DATA CDs but does not work for AUDIO CDs because Audio CDs do not have a file system. Disk Utility (and hdiutil behind the scenes) cannot image raw Audio CDs because they have to write into a file system-based .dmg file. When you see an Audio CD mounted in Finder it is using the cddafs convenience file system driver to present Audio CD tracks as playable .aiff files - this is not the raw Audio CD data and so when you image this view from Disk Utility's Disk Image from Folder option you will often have messed up audio gaps. When you mount these .dmg files Finder windows will show you the .aiff audio files again, but iTunes will not recognize the mounted .dmg as an Audio CD and so will not give you the opportunity to rip it as if it were a normal Audio CD.

What does work? cdrdao still works and is freely available through Macports (port install cdrdao) and Homebrew (brew install cdrdao).

I'm not a huge fan of cdrdao but it is suitable for this particular task. It's too complex for the average user because (a) it requires use of the command line (which I'm comfortable with, but most people aren't); (b) it requires knowledge of two different sets of device names and (c) it requires that iTunes is not running because it locks Audio CDs in a way that prevents exclusive access.

NOTE: This whole process is a lot easier if you go to System Preferences > CDs & DVDs and set all options there to Ignore. This should stop Finder, iTunes and other software from breaking things at the wrong times for you.

First up you need to know the /dev/disk(?) name of your optical device, since you're going to have to umount it so that cdrdao can get exclusive access to it, e.g.:

$ diskutil list

/dev/disk0
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *1.0 TB     disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:                  Apple_HFS Macintosh HD            999.3 GB   disk0s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3
/dev/disk3
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:        CD_partition_scheme Cool Music Disc...     *834.4 MB   disk3
   1:                      CD_DA                         75.3 KB    disk3s0
   2:                      CD_DA                         30.3 MB    disk3s1
...

In this case, /dev/disk3 is our USB-based optical device with an Audio CD inserted.

You also need to know what cdrdao thinks this device is called:

$ cdrdao scanbus

Cdrdao version 1.2.3 - (C) Andreas Mueller <andreas@daneb.de>
IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/XHC1@14/AppleUSBXHCI/MT1887@14113000/6238--Storage@0/IOUSBMassStorageClass/IOSCSIPeripheralDeviceNub/IOSCSIPeripheralDeviceType05/IODVDServices : TSSTcorp, CDDVDW SE-208DB, MF00
IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/XHC1@14/AppleUSBXHCI/SDRW-08D1S-U@14112000/IOUSBInterface@0/IOUSBMassStorageClass/IOSCSIPeripheralDeviceNub/IOSCSIPeripheralDeviceType05/IODVDServices : ASUS, SDRW-08D1S-U, 1.02

Those massive strings, up to the " : " anyway, are the device names that cdrdao requires. I have two listed because I have two USB-based optical drives plugged in - a Samsung and an ASUS.

To image an Audio CD you issue the commands:

$ diskutil umount /dev/disk3

Volume Cool Music Disc... on disk3 unmounted

$ cdrdao read-cd --device "IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/XHC1@14/AppleUSBXHCI/SDRW-08D1S-U@14112000/IOUSBInterface@0/IOUSBMassStorageClass/IOSCSIPeripheralDeviceNub/IOSCSIPeripheralDeviceType05/IODVDServices" --with-cddb --datafile test.dat test.toc

Cdrdao version 1.2.3 - (C) Andreas Mueller <andreas@daneb.de>
IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/XHC1@14/AppleUSBXHCI/SDRW-08D1S-U@14112000/IOUSBInterface@0/IOUSBMassStorageClass/IOSCSIPeripheralDeviceNub/IOSCSIPeripheralDeviceType05/IODVDServices: ASUS SDRW-08D1S-U    Rev: 1.02
Using driver: Generic SCSI-3/MMC - Version 2.0 (options 0x0000)

Reading toc and track data...
...

Eventually you'll have two files on disc:

  1. test.dat is a binary file containing the data of the Audio CD
  2. test.toc is a text file containing the track metadata of the Audio CD (including track name/artist information if you used the --with-cddb switch)

Finally, to write the data on to a new disc, pop in a blank CD+/-R and use the command:

$ cdrdao write --device "IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/XHC1@14/AppleUSBXHCI/SDRW-08D1S-U@14112000/IOUSBInterface@0/IOUSBMassStorageClass/IOSCSIPeripheralDeviceNub/IOSCSIPeripheralDeviceType05/IODVDServices" test.toc

Cdrdao version 1.2.3 - (C) Andreas Mueller <andreas@daneb.de>
IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/XHC1@14/AppleUSBXHCI/SDRW-08D1S-U@14112000/IOUSBInterface@0/IOUSBMassStorageClass/IOSCSIPeripheralDeviceNub/IOSCSIPeripheralDeviceType05/IODVDServices: ASUS SDRW-08D1S-U    Rev: 1.02
Using driver: Generic SCSI-3/MMC - Version 2.0 (options 0x0000)

Starting write at speed 10...
Pausing 10 seconds - hit CTRL-C to abort.
Process can be aborted with QUIT signal (usually CTRL-\).
WARNING: No super user permission to setup real time scheduling.
Turning BURN-Proof on
Executing power calibration...
Power calibration successful.
Writing track 01 (mode AUDIO/AUDIO )...
...
Writing track 13 (mode AUDIO/AUDIO )....
Wrote 795 of 795 MB (Buffers 100%  98%).
Wrote 354742 blocks. Buffer fill min 93%/max 100%.
Flushing cache...
Writing finished successfully.

When this finishes you'll have an exact duplicate of your original Audio CD. When you pop this in a drive iTunes will recognise it as an Audio CD and it will give you the option to rip its contents.

Hope this helps.

|improve this answer|||||
  • thank you for the excellent answer. I've used it successfully many times with a slight variation due to ERROR: init: ObtainExclusiveAccess failed issues. Main difference is that I have to unmount both before AND after scanbus – user12345 May 27 '17 at 0:31
  • Thank you, thank you - works perfectly although I had to overcome that 'init: ObtainExclusiveAccess' issue as well. – whaefelinger Aug 12 '17 at 16:11
1

It seems that "Burn" does the trick. Saving the image of a CD in "Raw" format will generate an ISO file along with an ISOINFO file. I figure using "Burn" again to burn the pair to a blank CD will reproduce the original pauses.

I have not verified the pauses, but the songs are definitely on the copy.

|improve this answer|||||
  • Unfortunately it seems Burn has been abandoned and doesn't work with Yosemite. You can launch it, but it won't clone audio CDs. – SiliconMind Jun 4 '15 at 22:16
1

Slight variation from the process described by FooMonkey - as I was running into issues using an external optical drive - along the lines of:

ERROR: init: ObtainExclusiveAccess failed

I recommend first reading FooMonkey's post above, as it is an excellent and very thorough answer, and provides more complete advice with better context to what is presented here.

  1. Find mount location of CD and unmount it

    $ diskutil list
    $ sudo umount /dev/diskN
    

    Where "N" is a number that corresponds to the mount that contains your CD (e.g. disk3)

  2. scan and obtain the long "IOService" device name string

    $ cdrdao scanbus
    
  3. Confirm mount location and unmount again

    $ diskutil list
    $ sudo umount /dev/diskN
    
  4. Read CD data, replace the IOService string with the one you received via scanbus

    sudo cdrdao read-cd --device "IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/XHC1@14/AppleUSBXHCI/Mercury Pro@15200000/IOUSBInterface@0/IOUSBMassStorageClass/IOSCSIPeripheralDeviceNub/IOSCSIPeripheralDeviceType05/IOBDServices" --with-cddb --datafile test.dat test.toc
    
  5. When read completes successfully, eject disk and insert blank CD

  6. write data to blank CD

    sudo cdrdao write --device "IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/XHC1@14/AppleUSBXHCI/Mercury Pro@15200000/IOUSBInterface@0/IOUSBMassStorageClass/IOSCSIPeripheralDeviceNub/IOSCSIPeripheralDeviceType05/IOBDServices" test.toc
    
|improve this answer|||||
0

Have you tried making image with Disk utility?

Details and pictures here:

http://www.wikihow.com/Copy-Your-DVDs-With-Mac-OS-X

|improve this answer|||||
0

This solution works perfectly for me :

1) Create a disk image from source CD

  • Insert the source CD (the one you want to copy)

  • Open the Finder, open Applications, then Utilities, and start the Disk Utility program

  • In Disk Utility, select File -> New -> Disk Image from Folder

  • The Finder will appear – select whole CD and click on the Image button

  • A new dialog box will appear. In the Where box, choose Desktop. In the Image Format box, choose DVD/CD master

  • Click Save

Now a new file will be created on your Desktop, titled the name of your CD with a “.cdr” extension. This file is a disk image of your CD. Btw, it works even if you do not select cdr format and write disk as generic Disk Image (.dmg).

Now you need to burn it on new, blank CD:

2) Create new CD from a disk image

  • Eject your original CD from the CD drive

  • Return to the Disk Utility program.

  • You should now see the disk image of your CD on the left hand side, typically at the bottom of the list. Select the image, and then click on the Burn button

  • Follow the directions and insert a blank CD-R disc when prompted

|improve this answer|||||
0

Post edit in progress, please ignore for the moment. The method above, using Disk Utility ... Create Image from Folder failed for me (El Capitan, 10.11.6). The image created from a CD having about 697 megabytes (note, MB not MiB) came out 773 MB and would not fit onto a CD. However, the following worked perfectly, as suggested by https://changilkim.wordpress.com/2013/03/09/create-an-audio-cd-image-on-mac/#comment-498 and slightly updated by me. You have to use Terminal.

  • Determine the disk number of the audio CD via

diskutil list

e.g. /dev/disk4 in my example.

  • Then do

hdiutil create -srcdevice /dev/disk4 -format UDTO /PathToDesiredImage

then eject the original.

  • To burn this image to CD, do

hdiutil burn "/PathToDesiredImage"

which will prompt for a blank disk. See hdiutil documentation for other options (e.g., turning off verification).

|improve this answer|||||
  • That's a long edit ... – Don't Panic Nov 25 '19 at 12:12

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .