DJing on the cheap

One thing I’d always wanted to try was DJing, because hey, doesn’t everyone? It’s like being a musician but without all that hard work, skill, and practice. I’d never really pursued the interest, though, because being a DJ, even as a hobbiest, had always been an extremely expensive proposition. Good turntables cost 600$ each, a mixer is another $100 or more, and there’s all the vinyl I’d need to buy. I know myself well enough that I didn’t want to risk dropping close to a grand on a hobby that, in all probability, I’d lose interest in after a month.

In recent years, laptop DJing has gotten more popular, but I still didn’t want to spend 500$ on the software and more on the mp3 music. I could have acquired these by bittorrent or whatever, but I don’t like stealing software and also hate rebooting into windows. Ideally I wanted an open source program that would run on linux, but most of the options I found sucked. My dream of being a superstar DJ appeared forever out of reach.

Then one lazy day of clicking around the internet I discovered Mixxx, an open-source DJing application. Amazingly, it doesn’t suck. After some experimentation, it became clear Mixxx not only didn’t suck, but was actually pretty good. Around the same time, I’d also discovered the wide world of netlabel music. There are artists all over the world who are more than happy to share their tracks for free on the internet. Because I’m not stealing the music, it’s easy to preview tracks and download the ones I like. I quickly built up a catalog of a few hundred decent tracks. I was very close to actually being able to mix music! Visions of neon-haired techno girls danced in my head.

So I have software, I have music, and I haven’t spent any money yet! The Mixxx developers recommend the Hercules DJ MP3 as a good cheap controller, so I snagged one off ebay for 70$. I also have a small older version of this M-Audio MIDI keyboard which I got used for 60$ or so ((I got this when I was playing around with freewheeling, until I realized I don’t play the keyboard)). Lastly, I have an M-Audio Sonica Theater for simultaneous main mix output and headphone preview output ((I also got this from ebay, used. There’s a lot of decent hardware out there that doesn’t really go bad)).

With all of that, my setup was complete:

Laptop, sonica multichannel sound card, midi keyboard (for effects), and Hercules DJ MP3
Laptop, sonica multichannel sound card, midi keyboard (for effects), and Hercules DJ MP3

Total cost: ~$150

I got some practice spinning tunes, and quickly discovered all sorts of annoying problems with Mixxx and my setup. The default mixxx theme, for instance, is ugly and doesn’t use screen-space well. I downloaded a cool-looking theme called “Trancer”, but then I wasn’t happy with that so I did what any linux user would do — hacked it and made my own version:

My custom Mixxx theme, which fits nicely on my 1280x800 screen
My custom Mixxx theme, which fits nicely on my 1280x800 screen

I also wanted to have more control over filters and effects, so I set up a JACK pipeline so I could use my MIDI keyboard to select and tweak effects outside of Mixxx itself. I use the jack-rack program to handle the effects, although I had to hack that too. So when I’m mixing, this is what my desktop looks like:

Mixxx on the right, a couple jack-racks on the left, and a little midi notifier at the top left
Mixxx on the right, a couple jack-racks on the left, and a little midi notifier at the top left

And while I was playing some music, I discovered some aspects of the Mixxx music library that I didn’t like. Like, I needed some way of knowing which tracks I’d already played so I wouldn’t accidentally play them again. Also, the search bar also didn’t allow for multiple search terms. So I hacked away at the mixxx source code. Now the search box works right and I know if I’ve played a track as well as how many times I’ve ever played it.

But what type of open-source advocate would I be if I kept this all to myself? So, I present:
Mixxx Trancer theme (DJO remix)
Mixxx 1.7 (DJO remix diff)
jack-rack 1.4.7 (DJO remix diff)

The most important patch is the one for mixxx itself. The library is really hobbled without it.

After all this hacking, I finally have a setup that works well. I’m sure a European jet-set lifestyle is not far behind, but although I’ve been mixing for like, close to two months now, I’m still not a superstar DJ. But I did record one session that I consider post-worthy. I call it, “Mixxx session 090710.” Future mix postings will have a full tracklist, but due to a mistake, this one doesn’t. Enjoy!

Mixxx Session 090710 on archive.org (88 Meg, 1 hour)

One thought on “DJing on the cheap”

  1. When you jet off to Ibiza* I expect you to take me with you.

    * (That was hip maybe ten years ago I guess. Replace with whatever the Euro-destination is these days.)

Comments are closed.