"Why do DJs at raves have to use records?" According to U.S. law, any copy of a sound recording is called a phonorecord.

"So why do DJs at raves have to use vinyl records, with their analog pops and scratches?" For one thing, new music seems to come out on vinyl first, and for another, it allows for beat matching by hand.

Audio quality concerns

Let me get a recurring myth out of the way: Vinyl does not necessarily sound better than CDs. The Red Book CD format, or more precisely 16-bit stereo linear PCM sampled at 44.1 kHz, has a 90 dB SNR and can have up to 120 dB of dynamic range with proper noise-shaped dithering. Vinyl seems to have a larger dynamic range and bigger bass because the labels master most new CDs not for home play or club play but for radio play, which prefers dynamics to be compressed out of the signal so that the sound can make it unharmed by FM radio's weak high-end performance and the noisy environment of a moving automobile.

JK mentioned that digital sampling introduces aliasing artifacts, but I haven't seen much foldover on spectrograms of any recent CDs because modern mastering kills most of the aliasing, and psychoacoustic masking takes care of the rest. Modern CDs are mixed at 96 kHz 24-bit and then low-passed using sinc convolution or bidirectional IIR filtering. Players also use "oversampling" (a digital low-pass filter) followed by an analog low-pass. CD aliasing as a form of harmonic distortion is no worse than the vinyl aliasing caused by friction between the needle and groove and commonly referred to by vinyl advocates as "warmth".

With that out of the way...

Record DJing seems hard from what I've seen. But the methods I saw used got me thinking: How can this be done digitally? I looked at a Geiss visualization of what was being played, and while I was brainstorming about algorithms to improve beat detection and scene changing, it hit me: Store tempo information in a database. (Vaporware disclaimer: This writeup specifies the design of a hypothetical product and does not imply that such a product is being offered for sale.)

The schema

One table would contain songs. Each song has the name of a .wav file (primary key), the artist, title, and description. Why use wav instead of ogg, flac, wma, or mp3? Wav files can be seeked into trivially, which is important for the algorithm I use. A format whose decoder is trivial (simply swap bytes) also frees up the CPU to generate visual displays and generate effects in real time.

Another table would store transitions:
  • Pathname to two wav files.
  • A description of the transition, to aid the DJ in arranging a playlist.
  • Sample offset to the beginning and end of the 16-measure (64-beat) transition in the first file. Together, these define the tempo of the first song.
  • Sample offset to the beginning and end of the transition in the second file. Together, these define the tempo of the second song.
  • An optional crossfading envelope of 256 samples (one per 16th note) used to transition from one song to the other as described in How to DJ by slide.

The algorithm

From there, the computer resamples the waves so that the beginning and end points line up and either outputs four channels through two sound cards to the mixer (in which case it ignores the crossfading envelope) or has its own mixer and effects engine. This frees the DJ to concentrate on pleasing the crowd and not on the gruntwork of beat matching.

Each song also has a transition from its end to its beginning, used for looping a somewhat short song or as a fallback in case a given pair of songs has no transition defined. (The first version of this design used only the fallback transitions.)


You have to beat-match and mix each transition manually when entering it into the database. A waveform and spectrum display makes this easier.

Of course, there will always be diehards who claim that DJs use vinyl records for the same reason churches have crucifixes. (I met one of those on the way out of the rave I left to write the initial draft of this writeup.) And it doesn't work for all types of electronic music, or for all calibers of party. But it should at least work for the radio or small local raves.

See also Mixman, Visiosonic, and shareware Virtual Turntables. slide uses Pitchfork (http://www.users.one.se/liket/mp3stock/pitchfork.htm).

questions? comments? /msg me

Log in or register to write something here or to contact authors.