How do i export an Audio CD with CD Text from an Ardour-Session?

I am running Ardour 2.5 (built from revision 3525).

I really tried hard to export a burn-ready “.wav”-File and “.wav.toc”-File with CD-TEXT from Ardour, but it seems like i am doing something wrong.

Here is a full description with Screenshots:
http://ooommm.org/sudelwiki/index.php?title=Export_Audio_CD_from_Ardour_with_CD-Text

Any hints are appreciated (i really need to get this CD done finally, it is Bruce Def-i-n-i-te-Lee driving me insance).

Peace,

;j

I did a quick test export and the .toc file (opened with a text editor) contains title and performer (but not composer). But the command ‘cdrdao show-toc toc-file’ does not show these infos. I didn’t try burning a CD with CD-text, though.

Another thing I have noticed is that you don’t have (pre-)gaps between your tracks. Wouldn’t it make more sense to use plain markers instead of ranges in that case?

The CD-TEXT seems to work fine in 2.8 so if you can you might want to upgrade.
If that’s not possible you could try removing the CD marker ranges and only add a starting marker for each track.
You could also try to export the CD Marker file only.

Thanks for the Hints - maybe that’ll help keepin’ me away from mental hospital :wink:

@the C.L.A.

  1. Okay - i simply trusted this “cdrdao show-toc toc-file”-command - if i open the ardour-exported .toc-file in a text-editor i can see the titles - YEAH!
    I simply thought something like “Okay, cdrdao seems to be the institution on this subject” - and maybe it is - but i am not :wink:

  2. I will check about the Plain Markers instead of Ranges (I just did Ranges because i followed the Manual, i didn’t even think about the possibility of Plain Markers).

  3. Right, i want no Gaps, actually this is just a Test-Session to get the whole issue under control - afterwards i will have a much bigger session with lots of songs and skits.

@peder:

  1. No Upgrade right now :wink: I am on Feisty 7.04 and am happy that i got 2.5 running some time ago, i tried to install 3.0 some days ago and that turned out to be close to impossible (thanks to thorgal again for stopping from wasting even more hours on that stupid idea). I’m gonna Upgrade my Ubuntu to 9.04 soon - after this Album is finished.

  2. Yes, i am really gonna go looking for the non-Range-Start-Marker-Option right now.

  3. I found out about the CD-Marker-File only export, that helps speeding up the process :wink:

One Question keeps spinning in my mind:
How do i verify that the CD-Text is correctly burned onto the CD in Linux :wink:
Which program can i trust on this one?

  • mplayer doesn’t show any CD-TEXT afaik
  • cdrdao lies to me :wink: how can i make it tell the truth?
  • i tried with XMMS, but i don’t trust that one neither.

I got no CD-Player around right now (sic!), so i need to test this on this system somehow.

Thanks for the Hints again, i am gonna report back as soon as i know more.

;j

an upgrade shouldn’t be necessary. this stuff has been working since 0.9 and even earlier.

looking at the screen captures, there’s no need for each song on its own track. put them all on one track and you can then draw fader automation moves between the tracks. it’ll be easier to move the regions around for proper timing with everything on one track. for some reason i tend to draw the Jamin Controller automation lines on the master bus rather than the audio track but that shouldn’t mater.

the spec calls for a 2 second space at the head. on the ardour timeline, locate beginning for first song to 00:00:02:00, then you’ll probably need to modify the cd.toc file so the first song start point is 00:00:00:00. otherwise it’ll error. i think the spec is fulfilled with the 2 second silence. it’s been years since i read about it.

burn the CD with something like:
cdrdao write --device /dev/disk4 --speed 16 $directory/master/cd.toc

insert it into a player that has an LCD display and watch for title, song title, performer fields to be reported.

call time, at least there’s a couple more answers and thoughts for you.

good luck

draw fader automation moves between the REGIONS

Solved (Scroll down for Details).

@rtp405:

  1. Thanks for confirming that CD-TEXT works well since 0.9

2.
the spec calls for a 2 second space at the head. on the ardour timeline, locate beginning for first song to 00:00:02:00, then you’ll PROBABLY need to modify the cd.toc file so the first song start point is 00:00:00:00. otherwise it’ll error.

Probably? :wink: Or definitely? Spock, you astound me - did you really “Guess”?
The CDs played right until now, without modifying that, but i only tested on my CD-Burner, not on an Audio-CD-Standalone-Player. So - do i need to modify the cd.toc-File now, or should i not?

On drawing JAMin-Curves on the Master-Track and JAMin-Regions i might ask you later, this time i’ll bypass that step - aka i “mastered” all the Songs with your “Recommended-for-Beginners”-Technique of Boost+3, Hardlimiter+5, Limit-0.5 and don’t touch all those other Buttons (By the way, did you mean to “Bypass” the Multiband-Compressors or to simply leave them in their Basic-Setting?, i did the latter). And i tried to mix clean before getting to that stage, so that there shouldn’t be too much to EQ anymore anyway (but that’s a completely different story, my source Material were ready mixed Beats, which, ahem, where mixed badly), so this whole thing is a Trial-and-(T)error-Mission anyway. To make a short story long: until now i like my songs/regions on different Tracks for the overview, but i might change that opinion during the process :wink: So the Regions are all already mastered and i simply gonna adjust the Volume here or there a little bit, at least that’s the plan.

Hooray-Ka! I found the solution - over here:
http://apocalyptech.com/linux/cdtext/

Ardour worked right all the Time, and even my “Range-Drawing” was cool (because it enables me to fill in the Performer-Field for each Song, which is “necessary” in my case).

The only problem was the burning-process, that’s where the CD-TEXT got lost.

So i fixed the cdrdao-commando like this:

cdrdao write --device 2,0,0 --driver generic-mmc-raw -v 2 cd-test-002.wav.toc

How to know which device you got:

wodim -scanbus

How to verify the CD-TEXT is present on the burned CD:

sudo icedax -D “2,0,0” -v titles

or

sudo cdda2wav -D “2,0,0” -v titles

Both write a file “audio.inf”, have a look at it:

more audio.inf

If the fields of Albumtitle and Tracktitle are filled in you should be happy by now, like me.

Okay - that’s it for now. Thank you all, you saved the state a lot of money by keeping me home and hacking and preventing me from slipping in total madness screaming loud “Neither 23, nor 42 is the answer - the answer is Ardour! A new kingdom is coming - but beware of the evil cdrdao!” while getting delivered into mental hospital.
Or something like that.

Thanks for the Trix and back to the Mix,

Peace,

;j

wow, 1000 times thanks for this hint!!
i was sure that my burner is just not supporting such actions, but with --driver generic-mmc-raw finally i got it to work. now, the question that comes up to me is - with the session name, we give the album name, but how to do the right thing for the album interpret?

anybody knows how to edit the toc file, if this can not be done from within ardour?

cheers,
doc

Hi,

here are some parameters that you can attach in an editor. I haven’t found a way to export them out of Ardour.

This is the start of a .toc file and contains the entries for the whole cd (album, so TITLE means album title and PERFORMER album artist).
Don’t know if Message and Genre is relevant, but cdrdao burns it with it.

CD_DA
CD_TEXT {
LANGUAGE_MAP {
0 : EN
}
LANGUAGE 0 {
TITLE “x”
PERFORMER “x”
ARRANGER “x”
SONGWRITER “x”
MESSAGE “x”
GENRE “x”
}
}

Thanks a lot for the hints here, I also thought I would use cd text, but now I’m doing it really :wink:

Benjamin

2:
i gotta get back to you on this. does Nick Mainsbridge still hang around these parts? i’ll try to find his mail address and send him some questions. or one of us can read the spec, nah!

3:
the method i suggest makes it impossible to apply the wrong jamin scene to a song. when the playhead hits song 2 the controller changes jamin to scene 2 or whatever you configure, Jamin Controller is your friend–don’t ask me how I know. another advantage to the controller method is you’ll use one export command to create the multiple song name.wav file. and export uses freelwheel, faster than realtime.

without the controller, i suppose you would record the jamin ouput back into an ardour track at realtime which would enable you to manually switch the jamin scenes = suck! of course everything is my way or you’re a loser. :slight_smile:

on the basic settings; having followed the suggestions I hope you experienced the simplicity. if yes, we can experiment with methods of achieving greater loudness without overloading the limiter; filter <250hz by -5db to create more average peak levels and push that shit into the limiter. and you should achieve a couple more db of overall loudness. you can create that filter with EQ, multiband compression or a combination of the two. and now you know why EQ and multiband compression are part of any mastering tool. my beginner settings aren’t the final word but they should turn on the light bulb for anyone who’s learning to master.

btw, we are working on the mastering video. in the video i’ll elaborate on why mastering with jackd is the best available environment but i probably won’t talk about the particulars of any tool like jamin or ardour; left mouse click on File, Export, Implode. my interest mostly ends at what mastering is and how to do it. in a sense it’s incidental that i use jamin and ardour.

enough of my ramble

on the basic settings; having followed the suggestions I hope you experienced the simplicity. if yes, we can experiment with methods of achieving greater loudness without overloading the limiter; filter <250hz by -5db to create more average peak levels and push that shit into the limiter. and you should achieve a couple more db of overall loudness. you can create that filter with EQ, multiband compression or a combination of the two. and now you know why EQ and multiband compression are part of any mastering tool. my beginner settings aren’t the final word but they should turn on the light bulb for anyone who’s learning to master.

btw, we are working on the mastering video. in the video i’ll elaborate on why mastering with jackd is the best available environment but i probably won’t talk about the particulars of any tool like jamin or ardour; left mouse click on File, Export, Implode. my interest mostly ends at what mastering is and how to do it. in a sense it’s incidental that i use jamin and ardour.

enough of my ramble

anything after the less than symbol is being dropped. maybe it’ll work in quotes.

on the basic settings; having followed the suggestions I hope you experienced the simplicity. if yes, we can experiment with methods of achieving greater loudness without overloading the limiter; filter “<250hz by -5db” to create more average peak levels and push that shit into the limiter. and you should achieve a couple more db of overall loudness. you can create that filter with EQ, multiband compression or a combination of the two. and now you know why EQ and multiband compression are part of any mastering tool. my beginner settings aren’t the final word but they should turn on the light bulb for anyone who’s learning to master.

btw, we are working on the mastering video. in the video i’ll elaborate on why mastering with jackd is the best available environment but i probably won’t talk about the particulars of any tool like jamin or ardour; left mouse click on File, Export, Implode. my interest mostly ends at what mastering is and how to do it. in a sense it’s incidental that i use jamin and ardour.

enough of my ramble

thanks benjamin, now i am completely happy with this!

cheers,
doc

Whoo-hoo everybody :wink:

I got lost in mixing-world the last two days (Deadline is approaching just too rapid) so i didn’t check back on this Thread, and as i see it seems alive and well.

Thanks for all the tips again.

I started to edit the .toc-File manually for fine-tuning aka CD-Title (i didn’t want the Session-Name there), Track-Titles and Performers (different Combinations of People on most Tracks).

@rtp405:
In most cases your Beginners-Mastering-Receipt worked well enough for me, on one Track it lead to evil distortion (the Track was already compressed to much before, i guess, and so i simply left the Track like it was, i am not working on Pop-Hits for now).
I will have a closer look at how the JAMin Controller, JAMin Scenes, Ardour CD-Markers and Ardour Playhead work together before my next project.
In this case i just opened four stereo Tracks, threw in all songs on Track 1 (mastered to roughly the same level in advance), the Intro on Track 2, the Skits on Track 3 and some Scratches to blend in the Skits and Songs on Track 4, adjusted some levels and exported to .wav and .toc, with JAMin on the Master-Insert again, but this time EQ/Compressors bypassed and only used to limit the whole thing to -1dB (Paranoid).
My Product is far from perfect, but good enough for this time.
So thanks for the advice, i’ll ask for it again when i got my skills levelled up.

I’ll let you know when the “product” can be heard online somewhere (most Lyrics are in German anyway, so it probably won’t make much sense :wink: ).

Peace,

;j

How to verify CD-Text on Linux - Update:

BE ROOT!

  1. Put your supposed-to-have-CD-TEXT CD in your CD-Drive.

  2. Check the Address of your CD-Rom-Device (mine is an external USB-CD/DVD-Burner, so the Adress changes)

    wodim -scanbus

    .
    .
    .
    .

  3. Read CD-TEXT from cd with icedax/cdda.

    icedax -D “3,0,0” -v titles -J

    Options explained:

  • -D "X,Y,Z," = The Address of your CD-Burner that you got from "wodim -scanbus".
  • -v titles = Verbose output of TOC and Titles
  • -J = only show information, don't write any files, don't extract any audio.
. . . .
  1. That should give you a nice listing that makes it easy to check for any Errors.

Many years later: my cdrdao does not show any of the CD-text. The check with icedax still works and reveals: no CD-Text is being written to disk. So either cdrdao or Ardour have evolved in a away that makes them incompatible. Opening the TOC file in an editor reveals that the CD-text is there.

Writing the CD from the CUE file using k3b however does work properly with CD-text.

Try adding --driver generic-mmc:0x10 to the cdrdao command.

Well, thing is… cdrdao show-toc mytocfile.toc does not show the CD-text. So if that doesn’t understand it, selecting a different driver won’t make a difference.

I thought k3b would be the solution, since it can write using CUE files, but apparently it is not. It always ruins the last track on the CD, after some seconds a short noise and then silence. I remember having had this issue before, giving up on CD-text and using cdrdao.

Funny enough, k3b seems to “know” about this, it displays a little vertical line in the status bar at the point on the CD where the issue occurs: k3b|689x43 - or is this yet another funny thing?

wodim cuefile=mycuefile.cue -dao says:

wodim: CUE sheet not accepted. Retrying with minimum pregapsize = 1.
Errno: 5 (Input/output error), send_cue_sheet scsi sendcmd: no error
CDB:  5D 00 00 00 00 00 00 00 B0 00
status: 0x2 (CHECK CONDITION)
Sense Bytes: 70 00 05 00 00 00 00 0A 00 00 00 00 24 00 00 00
Sense Key: 0x5 Illegal Request, Segment 0
Sense Code: 0x24 Qual 0x00 (invalid field in cdb) Fru 0x0
Sense flags: Blk 0 (not valid) 
cmd finished after 0.024s timeout 200s
wodim: CUE sheet still not accepted. Please try to write in RAW (-raw96r) mode.
wodim: Cannot send CUE sheet.
wodim: Could not write Lead-in.

Needless to say, it refuses -raw96r mode for anything but cloning disks. So, quite annoyingly in the year 2021 on Kubuntu 18.04 I don’t have a means to write a CD that actually contains CD-text.!

cdrdao show-toc xxx.toc works here for me on toc files created by Ardour, cdrdao itself and also CUE converted to TOC using toc2cue and the reverse cue2toc from EZ CD Audio Converter image rips from a couple of years ago. Btw, cdrdao also reads CUE files too if you are just having the issue with the TOC file.

As for wodim, I was advised to avoid it like the plague. Indeed, only when I switched away from it did the GUI burner apps start working properly again. FWIW, I generally only use command line cdrdao at this point.

Could you share examples of the TOC or CUE files that are being problematic?

Well, after some exchange with the local Linux user group, I figured out that this might be some debianese issue. I have the cdrdao 1.2.3 that came with Kubuntu 18.04. This might be different from other distros. I’m not sure. However, it never did any CD-Text for me. People also asked, why I woulnd’t use CUE files with cdrdao. Well, mine for sure can’t do, only TOC.

In the end I switched k3b to “RAW” mode for that CD and to 16× speed and voilà: I got a proper CD containing all audio and CD text.

k3b uses wodim but it doesn’t try to feed the CUE file into the CD writer, it does some other voodoo.

So, bachstudies, which version is your cdrdao and on which distro are you?