Burning Mixes to CD [How-To]

  • strict warning: Non-static method view::load() should not be called statically in /home/euchridc/public_html/djkaboodle.co.uk/modules/views/views.module on line 879.
  • strict warning: Declaration of views_attach_plugin_display_node_content::options_submit() should be compatible with views_plugin_display::options_submit(&$form, &$form_state) in /home/euchridc/public_html/djkaboodle.co.uk/modules/views_attach/views_attach_plugin_display_node_content.inc on line 0.
  • strict warning: Declaration of views_handler_argument::init() should be compatible with views_handler::init(&$view, $options) in /home/euchridc/public_html/djkaboodle.co.uk/modules/views/handlers/views_handler_argument.inc on line 0.
  • strict warning: Declaration of views_handler_filter::options_validate() should be compatible with views_handler::options_validate($form, &$form_state) in /home/euchridc/public_html/djkaboodle.co.uk/modules/views/handlers/views_handler_filter.inc on line 0.
  • strict warning: Declaration of views_handler_filter::options_submit() should be compatible with views_handler::options_submit($form, &$form_state) in /home/euchridc/public_html/djkaboodle.co.uk/modules/views/handlers/views_handler_filter.inc on line 0.
  • strict warning: Declaration of views_plugin_style_default::options() should be compatible with views_object::options() in /home/euchridc/public_html/djkaboodle.co.uk/modules/views/plugins/views_plugin_style_default.inc on line 0.
  • strict warning: Declaration of views_plugin_row::options_validate() should be compatible with views_plugin::options_validate(&$form, &$form_state) in /home/euchridc/public_html/djkaboodle.co.uk/modules/views/plugins/views_plugin_row.inc on line 0.
  • strict warning: Declaration of views_plugin_row::options_submit() should be compatible with views_plugin::options_submit(&$form, &$form_state) in /home/euchridc/public_html/djkaboodle.co.uk/modules/views/plugins/views_plugin_row.inc on line 0.
  • strict warning: Non-static method view::load() should not be called statically in /home/euchridc/public_html/djkaboodle.co.uk/modules/views/views.module on line 879.
  • strict warning: Non-static method view::load() should not be called statically in /home/euchridc/public_html/djkaboodle.co.uk/modules/views/views.module on line 879.
  • strict warning: Non-static method view::load() should not be called statically in /home/euchridc/public_html/djkaboodle.co.uk/modules/views/views.module on line 879.
  • strict warning: Declaration of views_handler_filter_boolean_operator::value_validate() should be compatible with views_handler_filter::value_validate($form, &$form_state) in /home/euchridc/public_html/djkaboodle.co.uk/modules/views/handlers/views_handler_filter_boolean_operator.inc on line 0.

I noticed that there aren't many good methods for burning DJ mixes to CDs, and that there are many parts of the process that are confusing or difficult. This post will attempt to redress that - however, I only use Linux, Audacity for editing, and K3b for burning CDs - so if you use a different operating system, audio editor or burning program, you will need to adapt the tips and processes mentioned here.

Anyway, this is what I do:

  • Record a mix on a Zoom H4n (better than using the laptop to record while trying to DJ on it - also, I can record from the mixer, so I can record any other equipment I'm using, not just the laptop). Any other recording device that will record wav, or other lossless files, would obviously work the same. I've heard the Zoom H2 is just as good for this sort of thing.
  • Edit the mix in Audacity, ensuring the volume is maximised, the beginning and end are clean, and any hum, interference or noise is removed (as can occur in a club, pub or bar).
  • Ensure Audacity is set up for the time to be in CD frames (hh:mm:ss:ff), not hours, samples, or whatever. (In the current version, it's at the bottom of the screen, next to 'Snap To'. You need to ensure 'Snap To' is on and that you have selected 'hh:mm:ss + CDDA frames (75fps)' from the drop down menu next to it.
  • Create a 'label track' in Aucacity. Use Ctrl+B to insert new label for the beginning of each track. You do NOT need to stretch the label to cover the length  - just the marker point made by Ctrl+B is fine. Make sure each label is written the same way; I always use the format "artist name ~ track title" - you will need to do the same if you want to use my labelcue bash script (see below) as-is.
  • Save wav file as one file - DO NOT SPLIT.
  • Export label track. Ensure it is in the same folder as the wav file.
  • Convert label track to cue sheet using either my labelcue bash script (see below) or label2cue.
  • Check the cue sheet in a text editor - may need editing. (Blank line at end of file may cause problem, but hasn't with me).
  • Ensure wav file and cue sheet are in same folder.
  • Open K3b, locate cue sheet, and DRAG to main pane at the bottom; don't try to burn an image. You can also select 'New Audio CD Project', and just drag the cue sheet into it.
  • Check CD text settings are satisfactory, and burn (on lowest speed possible). You may want to select 'RAW' or 'DAO' or 'SAO', but k3b's 'Auto' works fine for me, as it is only burning one file anyway.

The above process gives me truly gapless CDs - if you split the wav file up and 'export multiple files' in Audacity, when you burn them, even without a pre- or post-gap, the tracks are still likely to skip as they change tracks.

One more problem is that some CD players will pause and stutter between tracks anyway - test your disk on as many players as you can (DVD players and cheap portables are good for testing). You can't burn a CD that will play perfectly on EVERY CD player, but the above process should work on most.

I wrote a bash script (labelcue, see the bottom of this post) which will convert an Audacity label file to a cue sheet, preserving the track title and artist. To use it, you will need to be running Linux, and you will need the following programs installed: zenity, tr, cut, bc, sed. You will ALSO need the attached bc file at the bottom of this post (downloaded from http://www.pixelbeat.org/), which I have in my home directory. If you don't put it in your home directory, you will need to change the all instances of "bc ~/bc", replacing the tilde (~) with the full path to wherever you put this bc file. The main bc file will need to be installed in /usr/bin or /bin. This additional bc file may not be necessary if you know what' you're doing with 'bc' and bash scripts, but as it's a useful feature anyway.

In the bash script, I used a tilde (~) as a separator between the artist and title - if you prefer another separator, just change it in the script. (lines 48 and 50, the artist and songtitle variables).

I am somewhere between a novice and a mad scientist when it comes to bash scripts - I can sew parts together and "give my creation life", but I am no expert, and am happy for any advice on improving this script. Also, feel free to change the bash script to suit your own requirements - just let me know if you make any improvements, so I can learn from them.

Finally, I have noticed that I have least problems with Taiyo Yuden blank CDs; I have found they play on every CD player I have tried them on, whereas other brands are hit and miss. (I get mine from here: http://www.jetmedia.co.uk/popprods.htm?Product=jCDR80WPP600SK-4). The full-face inkjet printable ones obviously give a more professional look when printed in a decent printer.

Let me know (comments or contact) if you have any other tips and advice for recording mix CDs and gapless CDs; I'm sure the above process is just as effective for live gigs and classical music as it is for DJing.

For both the scripts below, rename them for use by removing the ".txt" part from the end.

Follow DJ Kaboodle on TwitterFollow DJ Kaboodle on Facebookadd DJ Kaboodle as a 'friend' on MyspaceSubscribe to DJ Kaboodle on Youtube

listen to DJ Kaboodle's mixes on Mixcloudhear DJ Kaboodle's remixes on SoundcloudFollow DJ Kaboodle's listening habits on Last.fmVote for DJ Kaboodle on The DJ List