How to mix live music with your Linux laptop

Mixxx is free software, cross platform, and supports both control surfaces and time-coded vinyl – what's not to like?

Ask any DJ about the industry-standard tools of the trade, and it's still a pair of the Matsushita Electric Industrial Company's high-end hi-fi turntables from the early 70s, repurposed as club decks in the disco era and known to all as the Technics SL-1200s or 1210s.

Vinyl offers hands-on control, and because the traditional setup is all analogue, there are no latency problems or pesky software glitches to contend with.

The downside of vinyl is that there's a lot of new music that isn't being released in the format, and unless you owned your own cutting lathe it was never convenient or particularly cost-effective to make one-off remixes on acetate, known as dub plates.

Vinyl is easily damaged, having no error correction built in, and even if it's well looked after, the soft plastic wears eventually under the pressure of the stylus. To top all of that, unless you live in one of the UK's larger towns or cities, you probably don't have access to a decent record shop any more.

In the digital music era, there have been several attempts to snatch the SL-1200's crown, including DJ-oriented CD players, and hybrid embedded systems offering playback of material imported from CDs or flash memory cards.

Windows-based DJ software has a more chequered reputation, partly because a general-purpose operating system is not really what you need for real-time responsiveness, and partly because of all the headaches that come with depending on proprietary software.

You really don't want to be reaching fever pitch on a club stage when a message pops up inviting you to download an update to Windows Media Player, while some mysterious disk thrashing begins in the background. And of course Digital Rights Management is a complete non-starter for DJs, who need to be able to do exactly what they want with the music they purchase, including remix and re-release it.

A question of control

A further limitation of computer-based DJing is that laptops and PCs, being descended from the Victorian typewriter, don't have the same physical controls as the vinyl-based setup. Apart from the hands-on aspect of the vinyl itself, there are the mixer faders and knobs to take into consideration.

One of the first attempts to solve this problem was N2IT's Final Scratch, in which special vinyl with proprietary time-code on it was played into a USB device attached to a laptop. To the DJ, it was meant to feel exactly like playing records, but the actual audio came from files stored on the laptop's hard drive.

Final Scratch was originally developed on BeOS, but by the time it was released under the Stanton brand name, the laptop was running a custom version of Debian. Later, this software was ported to OS X and Windows XP, with mixed results.

Despite legal battles over software patents, a number of me-too products appeared, each featuring incompatible vinyl time-code and hardware. The main drawback to this system is that if you don't already own a pair of turntables and a mixer, proprietary time-coded vinyl or special hardware aren't going to help much.

An alternative approach is to remove the need for traditional analogue equipment by providing a dedicated control surface; essentially a dumb set of faders, knobs and jog wheels. This connects to the host computer via USB, and while it's not exactly the same experience as using vinyl, it does mean less equipment to carry around. These control surfaces are generally supported by one or more proprietary DJing applications for Windows or Apple platforms, often bundled with the hardware.

Mixxxing it up

In the world of free software, the TerminatorX application has offered entertainment by way of scratching and mixing for some time. Cross-platform upstart Mixxx has the edge for the beat-matching style of mixing, and has support for a variety of time-coded vinyl formats and hardware control surfaces too.