|
|
|
||||||
Mixxx Controllers and DJ stuff
Mixxx Clock
Intro:
It's 10 years later and
DJ'ing has come back thanks to advancements in Mixxx, new equipment, and a
bit of free time now that my eurorack modular design antics have slowed. A
lot has changed and I believe my skills have improved. Thanks to China and a
big 3D printer I'm not trying to make things from garbage anymore! A Few
months ago I bought a proper DJ controller, the Pioneer DDJ-FLX4, and it's
nice but lacks many things I had before with the
DIY controller.
So I have started to build some projects to improve DJ'ing for myself, and
possibly others. ------- |
So
far I have designed and built a Sample controller that takes advantage of a
feature in the Reflex Live-Loop, an intelligent FX controller that allows
better control of the FX section (one button and a knob wasn't doing it for
me), and a Mixxx Clock to MIDI / Modular clock output. The first project I
will show you is the Clock module. Eventually I hope to make this a
non-modular stand-alone so everybody can use it, not just Eurorack Modular
peeps!
|
It sounds like a simple no-brainer, interfacing a software like Mixxx with the real world, just use a Midi inter face! Mixxx can indeed invoke Midi through script, which is how it talks to the controller, which works for everything... except the clock! The clock output is the one thing that is needed to get a real world clock. The problem is, being a computer software, the script is only scanned every 20 ms. This sounds fast but when it comes to even a PPQN clock (once per beat) 20 ms variation is a lot! An inherently unstable and unusable clock for Midi and Modular. |
Some
years ago, a fellow named Michael Stahl wrote some script that would allow
one to control Midi enabled stage lights (i.e. a Midi to DMX) with Mixxx.
One could turn on/off certain VU features that would allow the lights to
flash with not only the beat, but the intensity of that beat.
Because +/- 10 ms doesn't really make any difference with lights ( the brain has a more than 20 ms delay with the visual cortex) myself, like many others as I later discovered on YouTube, thought "Hey, I can clock all my synths and even the Eurorack modular with the track I'm playing in Mixxx!" Like all of the others, I discovered quickly that this isn't going to work. I had to search for a solution, so I checked to see what others were doing to attempt to solve the problem. |
|
I was quite disappointed in
what I found. One guy came close with a running clock and occasional manual
corrections. I don't think it was hooked up to Mixxx anymore at that point.
Taking a running average would probably be OK but with tempo changes, would
be disastrous! After some testing I could see that clocks could be sent 50 ms before, than 50 ms after! This almost made me quit, but I'm a little OCD so I kept searching for a solution.
|
Suddenly,
while looking through the script guide documentation, I found a (new to me)
function called beat_distance that returns the time the play head present
position is between the two beats! This was a revelation! Something I could
work with in the hardware program. A little math would solve this even though the position is only 0.0 to 1.0. (Tbb * beat_dist) / 127 = x, present play head time since last beat. Last beat - x predicts the next beat time. This seems complex but it is correct and remarkably able to change tempo, even though this clock is used to influence a running clock in the module. I modified the Mixxx script, then made it my own by chopping out all the lighting / VU stuff and eventually I got it working. I have tested it quite a bit and it's solid! |
|
Phase is the next thing to overcome. Sometimes the
beat doesn't exactly match the playing track, it's always off by a few
milliseconds. So I added a pot that makes the clock a little ahead or a
little behind the track. It turns out that a slightly misaligned track is
more the issue, but still the knob is useful for getting "that sound"
especially with percussion. I find I rarely use it anymore as most of my
tracks are well aligned to their beat markers!
|
Anyway, I am making a new module just for this
purpose.
|
|
DJ Sampler
As the designer of the Reflex Live Loop Module, I of course have
one in my rack! It also has the Flash-8 Midi expansion module so it's
perfect for DJ Sampling.
The Reflex has a feature that instantly records or plays samples, up to 10, by hitting a key (purple ones) and I have used it while DJ'ing before. Unfortunately, this ties up the key board and it's Midi. |
|
This was an opportunity to both free up a keyboard, and have a cool new way of playing samples. These samples could come from the Flash-8, or be done live which is mostly what I do. Also there's not only Midi control of the pitch, there's level and EQ thrown in. These are used in a level vs. midrange scope on one knob. This is to kill the bass when levels are turned up. | |
The
box itself was 3D printed so it would look nice with round corners. The
buttons are some 12x12 Board mount, the same as what was used to build our
line of Refex'es before we had to discontinue them. There's lots of button
and caps left over so might as well put them to good use!
The LEDs are RGB I bought to
try out when designing a module but they turned out to be too big for that
application, perfect for this. The tops are almost 3mm but the body is
huge, 8mm wide. There's
also quantizing on the pitch shift knob set by holding the bottom button
and pressing one of the others. Included scales to be panned through +/-
are white Keys, Black keys, Major7, minor7, Arabic 1&2, All, or pitch
Bend. A good addition. |
|
There's a video on this if you want to see it in action, click here. |
DJ Mixxx FX Controller
This project was almost a necessity. On my DJ
controller ( Pioneer DDJ-FLX4) there's a single button and a knob, then some
up/down selectors for the FX you want to use. Not good enough IMHO! So the
FX Controller project was commenced. |
|
Mixxx
has 6 FX banks (in two channels) and the controller is divided off this way,
but the side(s) used can be changed at the push of a button. One of the controls each side can be linked to one in the FX left of the Gains so it's pretty useful for changing, say echo rate or Reverb Decay. |
|
Like in the
software the FX can be turned on and off as well. I added a few intelligent
responses, like the echo continuing for a while when the switch is turned
off, rather than a sudden stop. There's also headphone controls (For FX) which my controller won't do. The master FX on the DJ controller still works for now but I may assign it to do something else. All in all it's a good unit! (Sorry no pics, they will be added later) |
Well that's it for now. I will post to this page as progress is made!
October 2024