2

What I do:

I record and mix audio using Ardour or Harrison Mixbus. Most of the time now, I don't need to create an master audio cd: bands ans artists are happy enough with audio files. Providing them with high quality .wav files, and some mp3 or .aac is enough nowadays.

However, for a new project, I will have to do again a master audio cd. It is used as a reference to press audio cd.

The issue:

In the past, with Ubuntu or Ubuntu Studio, I used gCDmaster, a GUI for cdrdao. It is not available anymore in repositories, for a long time.

With Ardour or Mixbus, I can export one long .wav file and the .toc description file.

So I am looking for a burning software that:

  • can import one long .wav file, or many short .wav files
  • can import .toc or .cue files for tracks information
  • can edit and save tracks informations (e.g: cd text)
  • can burn the cd at lowest speed possible for the burner (less errors possible)

Any idea ?

(Brasero and k3b can not do that)

ttoine
  • 1,200

1 Answers1

0

You can keep on using cdrdao, without a GUI, from the command line.
In theory, it should be as simple as:

cdrdao write album-master.toc

but in practice, it turned out to be a bit more complicated than that. Here's what I had to do:

  • simulate - Before anything else, let's use simulate instead of write. It'll avoid ruining a CDr if an error occurs. We'll revert back to write once a simulation has completed with success.

  • device - Next, it can't hurt to specify which drive you want to use. cdrdao scanbus will list your drive(s) address(es). I wanted to use /dev/sr0 so added this to the command: --device /dev/sr0

  • driver - By default cdrdao uses the generic-mmc driver, and by default this driver doesn't write CD-TEXT. We have to specifically state that we want to also burn the text by setting the driver bit to 0x10 like this: --driver generic-mmc:0x10

  • speed - I haven't used that option as cdrdao detects the speed of the drive automatically, but if you want you can add --speed 4 to the command to force your drive to write at that speed (mine won't go below 16).

So now the command looks more like this:

cdrdao simulate --device /dev/sr0 --driver generic-mmc:0x10 album-master.toc
  • Ardour's TOC - cdrdao can be a bit sniffy with the toc files generated by Ardour(5):
    • If you used the Performer field in any of Ardour's CD markers, then it has to be filled in for every track, otherwise cdrdao fails.
    • We have to open the toc file in a text editor to manually edit the TITLE and PERFORMER of the whole cd, located in the first CD_TEXT block (but do not add a COMPOSER entry there or cdrdao will fail).
    • Whilst we're here, Ardour hardcodes the wav file location which means that if we ever move the .wav and .toc files to a different folder/device, cdrdao will not find the .wav file and fail. So it's worth doing a quick search-and-replace-all:
      FILE "/home/xxxxx/ardour/album-master/export/album-master.wav"
      FILE "album-master.wav"

If the simulation now runs successfully, you can replace simulate by write and be on your way. In my case I had to work around a couple more bugs:

  • Bugs
    • For some reason when opening a session, Ardour seems to convert my first CD marker to a Location marker, which then messes up the exported TOC file. So I have to fix that every time before exporting.
    • I kept the most annoying/weird bug for last. cdrdao kept failing with this error:
      ERROR: Cannot set write parameters mode page.
      and telling me to Please try to use the 'generic-mmc-raw' driver.
      But changing the command to --driver generic-mmc-raw would also fail, this time with a different error:
      ERROR: Write data failed.
      Then sometimes, seemingly at random, everything would work perfectly and I could write as many cds as I wanted.
      Eventually I worked it out: first run the command once with --driver generic-mmc-raw, let it fail with the Write data failed error, and after that the command with --driver generic-mmc:0x10 works fine. Go figure...