Overview
Requirements
Just like other timecode-based DJ software, xwax uses the PC/laptop as an intermediate between an existing turntable and mixer. You will need:
- PC/laptop with Linux operating system
- Stereo audio interface, and pre-amplifier — one set for each 'deck'
- Timecode vinyls — one for each 'deck' (see below)
- libSDL (supplied as standard with most modern Linux distributions)
- Audio decoders (see below)
- Modest CPU, Pentium III 600 or faster (more the better)
- Lots of RAM, typically 512Mb or more
Timecode vinyls
xwax requires a special vinyl for the turntables, and can currently use timecode vinyls from
- Scratch Live by Serato (2nd edition pressings)
- Traktor Scratch by Native Instruments (1st edition pressings only)
- MixVibes
These can be picked up as spares for around £10–20 each. Currently, the Scratch Live vinyls are recommended for use with xwax. They have been found to be the best pressing with timecode signal to the edge of the vinyl, and the 1Khz (rather than 2KHz for Traktor) timecode performs better at high speeds, whilst giving perfectly adequate resolution. There may be further developments on this in the future though.
All vinyls are supported with absolute positioning.
Audio interfacing
xwax uses Open Sound System (OSS), ALSA, or JACK audio devices. The software has been used successfully with various interfaces, from a basic emu10k1 Soundblaster Live to professional balanced soundcards. For more information, see the section on audio interfacing.
Performance
xwax is written in fast C code, using POSIX realtime scheduling and low-latency (less than 1ms) audio functions.
libSDL is used for the graphical interface. It easily achieves 60 frames per second on a modest system, whilst leaving ample CPU time for playback and audio decoding.
Audio decoding
The software imports digital audio files using an external decoder, and holds them in memory as uncompressed, raw audio. This ensures fast and reliable seeking during playback, but requires enough RAM in the machine (normally 512Mb or more).
Using an external decoder means you can configure to use your codec and file format of choice. xwax has been used with:
- mpg123 (MP3)
- faad (AAC)
- vorbis-tools (Ogg Vorbis/FLAC)
- flac (FLAC)
- sox (live audio)
- ffmpeg (various audio and video formats)
- cdparanoia (direct CD ripping)
Decoding audio in a separate process means there's no risk of xwax crashes caused by a dodgy MP3 file!
A final word
Despite the use of other manufacturers' vinyls, xwax is an open-source project and has absolutely no connection with the companies or their products.
xwax can match (and even surpass) the raw performance of commercially available systems. However, installing an xwax setup is currently aimed Linux users with a technical knowledge. If you're looking for a polished and supported product for Windows or Mac, then xwax isn't for you. But if you want an efficient and stable vinyl control system that has all the benefits of open source, then give xwax a try!