Getting started with xwax
Getting xwax up and running isn't difficult at all, as long as you have a working Linux system and soundcard. If you're having problems, consult the troubleshooting page.
Building from source
Download the source code and read the INSTALL file for instructions. You're likely to end up with something like:
$ tar xvzf xwax-1.0.tar.gz $ cd xwax-1.0 $ make PREFIX=/usr/local ALSA=yes $ su # make PREFIX=/usr/local ALSA=yes install
Compilation errors are most likely the result of missing libraries. See the troubleshooting page and read that INSTALL file again. If you don't want to build from source, there may be an unofficial package for your Linux distribution.
Once installed, xwax runs from the command line. The arguments to the program setup audio devices, music directories etc.. To get started, try a single deck using ALSA:
$ xwax -l ~/music -a hw:0
For lowest latency, xwax will increase the scheduling priority of the audio playback thread. Since xwax 1.0, this is required and xwax will not start without it. See the troubleshooting guide if you encounter this.
Once you have a basic setup, you can give extra devices for more decks and other options, eg.
$ xwax -t serato_2b -l ~/music -l cdtracks -a hw:1 -a hw:2
What you're actually doing in the command above is:
|xwax||Running the xwax command|
|-t serato_2b||Using Serato 2nd Edition, side B timecode (see xwax -h for available timecodes)|
|-l ~/music||A path to a directory containing music tracks|
|-l cdtracks||A path to a directory containing the virtual music tracks (which instruct the importer to extract from audio CD)|
|-a hw:1||Audio device for first deck|
|-a hw:2||Another audio device for second deck|
As you will have seen above, some of the parameters can be specified multiple times; eg. if you have many disjoint directories of music. For a list of command line options use xwax -h or man xwax.
Checking input audio
With the software running, placing the needle on the timecode vinyl should give a healthy circle display in the timecode scope, like above.
The only adjustment which you may need is to set the input levels using a mixer control for the device (eg. alsamixer). When settled, the circle should approximately fill the timecode scope display. The rest of the timecode control is self-calibrating.
Don't be alarmed that the scope goes all over the place when you scratch or mix, or even just touch the record — this is normal.
Use the up/down cursor keys to highlight a track from the record library. Use page-up/page-down scroll one screen at a time.
Type a portion of a track name, using the letter and number keys to search the record library. Use backspace to delete.
Highlight the chosen track and use the F1, F5 or F9 keys to import to a chosen deck, and begin mixing/scratching!
|Deck 0||Deck 1||Deck 2|
|F1||F5||F9||Load currently selected track to this deck|
|F2||F6||F10||Reset start of track to the current position|
|F3||F7||F11||Toggle timecode control on/off|
|Ctrl-F3||Ctrl-F7||Ctrl-F11||Cycle between available timecodes|
Turntable control is automatically disconnected when the end of the record is reached (ie. the music will continue to play). Replace the needle back near the start of the record and press the reconnect button.
|=||Zoom in audio display|
|-||Zoom out audio display|
These examples are not guaranteed, but should serve as a good reference to see how things are achieved on similar systems. In particular, the examples below skip the internal soundcard and use the second audio device (hw:1).
For a more comprehensive set of examples covering the full setup and not just audio devices, see man xwax.
The Stanton ScratchAmp v1 contains two separate audio interfaces. ALSA 10.0.15 is required:
$ xwax -m 2 -a hw:1 -a hw:2
Same as above, using kernel OSS emulation
$ xwax -d /dev/dsp1 -d /dev/dsp2
The Rane SL-1 (Serato Scratch Live interface) is a single ALSA 'card' with multiple devices. The driver is new with ALSA 10.0.15:
$ xwax -a hw:1,0 -a hw:1,1
The Echo Layla 3G has all analogue channels on a single device, so it is necessary to call xwax with subdevices. In this example, there are three decks (tested on ALSA 10.0.15):
$ xwax -a hw:1,0,0 -a hw:1,0,2 -a hw:1,0,4