There's a question over at audio.SE at the moment and I thought it may attract some answers here. I asked the user and he's happy to have it posted here to see if anyone has some ideas. Here it is verbatim:

I'm working with a client who needs to minimize the time between when recording is done and when the finalized audio CD ejects from the drive.

All of the computer recording software I'm aware of will generate a file which can then be burned to an Audio CD. I know there is external hardware I could buy that would burn an analog stream directly to disc, but I'm wondering if any software exists that can achieve this with a computer's internal optical drive. Ideally for Mac, though if it only exists for Windows or Linux I would be interested to hear about it.

(Other alternatives have been explored; I would much rather not deal with optical media at all, but this is a highly specialized situation.)

As to the source: "It would likely be an external USB audio interface."

If you need more info let me know.


Well, you could do it with some command line tools.

cdrecord (wodim on debian) can burn audio CDs on the fly, but it needs an *.inf files that specify track sizes etc. You can generate an inf file upfront with a dummy CD that has (say) one large audio track (74 minutes) using cdda2wav (icedax on debian).

In the live setting you record from an audio device of your choice with arecord in one xterm to a temporary file x. Use as argument of --duration the track size in seconds.

In another xterm you can start after a few seconds (to allow some buffering) cdrecord which reads the audio from a pipeline from x and uses the prepared inf file. You have to make sure that you specify speed=1 for writing.

Of course, you have to test this setup a bit (first times with cdrecord -dummy ...!) and lookup the right options.

But the manpage of cdrecord already contains an on the fly example as starting point:

To copy an audio CD from a pipe (without intermediate files), first run

icedax dev=1,0 -vall cddb=0 -info-only

and then run

icedax dev=1,0 -no-infofile -B -Oraw - | \
wodim dev=2,0 -v -dao -audio -useinfo -text *.inf

But after you have everything figured out, you can create a script that automates all these steps.

  • Thanks for this. I'll let the user over at audio.SE know about your answer and see if it fits the bill. – boehj Jun 14 '11 at 8:26
  • No word from the guy over at audio.SE so I've accepted this one on his behalf. Thanks for your input. – boehj Jun 20 '11 at 0:14
  • @boehj Ah, sorry I didn't follow up. Thanks for accepting on my behalf, this is a great answer. – NReilingh Jul 7 '11 at 15:40

You 'might' be able to do this if you can tell your drive to write at 1x (that is, realtime playback speed (which incidentally is realtime record speed)). Otherwise, this is not going to be possible as it requires packet writing, which is for data only (not redbook audio).

The trick as well might be getting the writing software to accept an open file as it's input, without being able to detect it's sizing, and then gracefully handle an unexpected EOF and close the track.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.