shorten is a lossless, compressed music format. It's ideal for making high-quality copies of concerts and distributing them to your friends. For the following instructions, you're going to need to visit etree.org and download the shorten tools. These instructions were given to me by none other than Patrick Volkerding, who does a whole lot of this sort of thing. So I trust them. However, everything here is my own words. I've just made his instructions more interesting (hopefully).

So you've got a directory full of .shn files laying around from that concert you went to, and you really want to make a CD of it? Great! First, I am going to lay down some assumptions. Let's say you're on a UNIX-like operating system. Let's also say that the shorten utilities are in your path, and that your .shn files are in /tmp/concert.shnf. Also, let's assume that your wav files to burn will go into /tmp/wavs. Now how do we go about this?

The first step is to check the boundedness of the shorten files. See, the shorten files need to be cut at the sector boundaries of a CD. If they aren't, then they will get padded with blank space when you go to burn them. The result will be a popping sound in between tracks. This is not good. So first, check that they are not bound:

shntool -len *.shn

If any of the tracks are bound, there will be a B in one column of the shntool output. You will definately want to fix them before burning. The following command will fix the boundedness and convert them to wavs all in one step:

shntool -fix -wav -b -pad *.shn

You've now got a bunch of wav files in the directory with all your original shorten files. They've also got names indicating that they are fixed. You'll now want to skip down to the part where I tell you how to burn them. If you don't need to fix them, you can unshortenifiy the songs with the following shell command:

for file in *.shn ; do
   ls -l $file
   shorten -x $file /tmp/wavs/`basename $file .shn`.wav
done

And now you've got a directory full of big huge wav files eating up all available free space. Isn't free music great? Okay, there's one more step we need to do before we burn these things. In order to burn them at proper disc at once mode, you need to create a table of contents for the wav files. Change directories to where the wav files are and do this:

( echo "CD_DA"
  for file in *.wav; do
     echo
     echo "TRACK AUDIO"
     echo "FILE \$file\" 0"
  done
) > disc.toc

Now you've got a table of contents written and we're ready to burn as disc at once. The reason we burn in that mode is so there's no annoying two second pre-gap. If there was a pre-gap, you'd have two seconds of silence between songs. Again, not a good thing for live shows.

I'll assume you know what device your CD burner is. Mine is SCSI ID 5; yours may be different. If you've got an IDE burner, I feel sorry for you. Anyways, I burn using cdrdao like so:

cdrdao write --device 0,5,0 --eject disc.toc

Several minutes later, your cd drive should pop open with a fresh new CD of good live music. I would then remove all the wav files, burn a data cd of the shorten files for future trading purposes, then remove the shorten files as well.

etree.org is the main site for all your shorten-related information, including mailing lists, where to download live recordings, more comprehensive howto documents, and much more. Check them out!