"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.)
Caveats
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