] [Thread Prev
Re: AW: DJ techniques in live looping (Re: video on loop turntablism) - also for Jeff Larson!
Great observations Jeff -
The xponent does exactly what you have supposed (the controller uses midi value 64 as the "normal speed" .... and then any time you place you hand on the control surface and give it a tweek ..... the value jumps up or down .... basically indicating a change in turntable velocity). So ... it's pretty easy to map it to the playback speed to that variable ...... though you also have to take into account the ability to "throw" the turntable ..... toss it forward or back ..... and how quickly it will come back to it's default speed. The xponent controller handles this a little diffrerently .... there is a noteon command that is issued when you touch/release the turntable ..... so from the minute you release the turntable controller, the velocity will then trend back to normal playback speed. Adjusting how quickly the speed returns to normal play is akin to changing the friction between the record and the turntable it sits on (which DJs do by buying different types of pads which sit between the turntable and the record.
So there you pretty much have it ..... changing playback speed based on a midi value and then adding some math to cause it to trend back to normal play when the controller is released. You also need a smoothing function ..... but that is basically it.
By the way .... I also wrote a function to stack(overdub) while scratching ..... which, of course means the recorded material will be pitch shifted (like recording to a tape deck but tweeking the speed knob as you record). Crazy fun for me .... stacking with decay while scratching.
From: Jeffrey Larson <email@example.com>
Sent: Saturday, August 30, 2008 5:41 PM
Subject: Re: AW: DJ techniques in live looping (Re: video on loop turntablism) - also for Jeff Larson!
> Now Jeff (and this is why you're mentioned above): would it be
> control a loop in Mobius with one of these controllers like a
Kaoss pad, to
> "sratch" the loop?
I think so but it would be a complicated script.
I don't pay much attention to the DJ world, but if I understand
correctly scratching is a combination of playback direction changes
with continuously variable rate shift.
When the turntable is at rest, you are at rate 0.0 which is effectively
a pause. As you push the left side of the turntable away from you
the record moves under the stylus in the normal direction. The playback
rate rises from 0.0 rapidly, levels off depending on the
speed of the hand motion, then drops rapidly back to 0.0 if the hand
motion stops. If the turntable is powered and the hand is removed it
rises or falls gradually to rate 1.0. Pulling the left side of the
turntable toward you does the same in reverse.
The challenge for the control script is converting a MIDI
continuous controller value that bounces between 0 and 127 into a
set of rate and direction changes that sound like scratching.
One possibly would be consider the center of the range, 64, to
be the "resting" state where the playback rate is 0.0 and direction
is meaningless. A control value of 127 would be a rate of 1.0 playing
forward and a control value of 0 would be a rate of 1.0 playing in
As you move the controller up and down we set the corresponding playback
rate and direction.
This might sound similar to turntable scratching but I doubt it would
feel the same. We would probably need to experiment with smoothing
algorithms to make the rate changes happen more gradually rather than
just jumping to the current controller value.
Crossfade that you mentioned would be much simpler, just make
a control script that sets the output levels of two tracks or
two groups of tracks. Controlling the "curve" of the fade would
be the tricky part. Since you can't do trig, exponents, or other
complex math in scripts you would have to pre-calculate
a mapping array of 127 values that contained the output levels to
apply to the tracks.