How to mix live music with your Linux laptop

If you have a Hercules DJ Console control surface, add the Scons option:
djconsole=1 for the current model MK2 and RMX controllers.
djconsole_legacy=1 for the Control MP3 and original Hercules MK1 controller.

Once compilation is complete, type mixxx into a console window to run the program.

Running Mixxx for the first time

Mixxx needs to know where on the local filesystem you keep your music collection. We've made a directory called /music and put some FLAC and WAV files in it.

Mixxx also supports MP3 and Ogg Vorbis playback, but if your ambition is to play in a club on a decent sound system, you should avoid archiving music in a lossy format. If the only copy of a particular song you have is in MP3 format, you might want to track down a better quality version, particularly if the bitrate of the file is 128kbps or less.

The lower window of the Mixxx GUI, by default in Library view, should now fill with a list of sound files in the directory that you specified. If you want to locate audio files elsewhere on the filesystem, you can click the combo box just above the left-hand side of this window and select Browse. If your music library is on the ungainly side, use the Search box above the window to the right, which will enable you to narrow the list of files to a particular artist, title or keyword.

Use Options > Preferences > Interface > Skin to select a GUI that fits the display you're using. In this tutorial we're going to describe the new Natt skin, which looks very smart indeed. Other skins work more or less the same way, although the layout of the controls can be different.

Double-click any file in the Library view and it will load automatically into the first available player – channel 1 is the lefthand player and channel 2 is on the right. Mixxx will not load a file into a channel where a track is already playing, which is a useful safety feature (for avoiding embarrassing silences on the dance floor). You can also load a track into a specific player by rightclicking it in the Library view.

After a short delay while Mixxx analyses the beginning of the file, calculating the beats-per-minute of the track, the waveform of the audio will be drawn in one of the player windows. Get this file playing by clicking on the appropriate button, or hitting the keyboard shortcut for start/stop (which is D for the channel 1 player).

Mashup time

You'll notice that the crossfader knob, just above the Library view, is sitting in the centre – which is not a good place to start, unless you already know exactly how you're going to mix the first two tracks. Drag it all the way to the left so that only the output from channel 1 is audible. Now load up a second track in channel 2 and start it playing.

If you have a four-channel or secondary audio device set up in Options > Preferences > Sound Hardware > Headphones, hit the headphone cue button; otherwise, you'll have to rely on the waveform in the GUI or your memory of the track to know when to make the fade.

If one track is faster than the other, you can drag the Pitch fader on either player to attempt a match. By default, this control is in vinyl emulation mode, which means that a faster tempo results in a rise in musical pitch; but since this is a digital system, we can also use the CPU to stretch and shrink the timing of audio without changing its pitch. If you want to try this feature, you'll need to enable it under Options > Preferences > Sound Hardware > Pitch behaviour. There are also buttons next to each pitch fader for precise adjustments, permanent or temporary.