Hi all —
I created a MIDI mapping for Mixxx (open-source DJ software). The main idea is to do live-coded experimental/abstract turntablism with TidalCycles patterns. The approach is heavily inspired by turntablism in general but particularly by artists like Christian Marclay, Otomo Yoshihide, Maria Chavez, Evicshen and Mariam Rezaei.
With the mapping you can manipulate Mixxx controls like play/pause, crossfader, speed, playhead position, loops, beatjumps and scratches.
You can find the files (two TidalCycles, one SuperCollider, two for Mixxx) and some instructions here in a repository. Right now it only works when running Mixxx in Developer Mode mixxx --developer with “Midi Through Port-0” as controller device (at least for me with Linux Ubuntu).
Some examples like play/pause pattern + scratching, skippy bent beats, etc. are here on my website.
I mainly made this to have another sample-based set-up for myself but feel free to try and/or extend the mapping—or attempt some actual DJing
The “jog wheel” (for scratching) is scripted in JavaScript, I adapted it from an existing MIDI controller mapping. As far as I understood it sends/counts ‘ticks’. I’m sure, more interesting things are possible here with the scripting.
I uploaded a ~20 min set of playing with my Mixxx<->TidalCycles set-up which I called Schleppkurve.
Things that changed since the initial set-up last year:
Adjusted the skin in Mixxx to match the syntax highlighting
Routing the audio signal from Mixxx to SuperCollider – TidalCycles: “in1” and “in2”
I now have a “MIXXX SECTION” and an “AUDIO-IN SECTION” in the code. So far, I mainly used audio effects like delay or filters.
Some interesting parts in the video:
03:34 – A “scratch sequence” on deck 2 while it is paused.
11:37 – A loop on a section with a patterned reverse. The parts that get reversed are slightly shifting with time. Delay as audio effect.
14:54 – Jumps to play position, very fast. In principle some kind of granular synthesis. With degradeBy the amount of jumps per cycle gets reduced, it’s a bit like changing the “hold” of sample.
20:00 – Patterned change of speed rate, very fast. A bit like accelerate in TidalCycles.