Writing CD-TEXT to audio CDs

cdrdao

Use cdrdao with the following command line (get rid of --simulate), toc.txt is explained below.

cdrdao write --device /dev/sr0 --simulate --driver generic-mmc:0x10 -v 2 --speed 8 -n toc.txt

The key is adding the :0x10 after generic-mmc otherwise CD-TEXT will not be written.

toc file

The first part of the file sets the language map and the title and artist of the disc itself:

CD_DA

CD_TEXT {
  LANGUAGE_MAP {
    0 : EN
  }

  LANGUAGE 0 {
    TITLE "Dusk And Her Embrace"
    PERFORMER "Cradle of Filth"
  }
}

Then for each track you set the title and artist and the source file:

TRACK AUDIO
CD_TEXT {
  LANGUAGE 0 {
    TITLE "Humana Inspired to Nightmare"
    PERFORMER "Cradle of Filth"
  }
}
FILE "01 - Humana Inspired to Nightmare.wav" 0

The zero is the starting point of the track in samples (1/44100 seconds).

Note that you have to repeat the performer for each track, it is not taken from the global block.

Links

The cdrdao manual which has the full specification.
A better article about CD-TEXT.