Project: SC_MPVT
SuperCollider classes providing support for Ms Pinky's Vinyl Tracking system.
Ms Pinky's vinyl tracking system is an outstanding alternative to Final Scratch for controlling software using standard turntables and time-coded vinyl. There's not a great deal in the way of bundled software, but using their provided API, it's straightforward to implement support in your sound application of choice.
These classes enable SuperCollider to access Ms Pinky's velocity and positioning data via a handful of simple UGens. They should work with any generation of the hardware; they've been tested successfully with 4th generation vinyl.
Usage
Simply pass each UGen a stereo audio-rate input containing the output of a Ms Pinky time-coded record, and your generation number (found on the record label).
- MPVelocity.ar - takes a stereo audio-rate input, and calculates the vinyl velocity. 33RPM equates to a velocity around 1.0.
- MPPosition.ar - takes a stereo audio-rate input, and returns the record's absolute position. Values begin at 0 at the start of side A, and 65,536 at the start of side B. Only supported by certain generations of Ms Pinky.
- MPSignalPower.ar - takes a stereo audio-rate input, and returns the approximate signal strength. This should ideally be near to 1.0 when a Ms Pinky record is playing.
- MPErrorMetric.ar - takes a stereo audio-rate input, and returns an estimate for the current error metric. Read the SDK documentation for more information - it doesn't seem very useful in practice.
Usage
SynthDef(\mpvt_test, { |inbus = 3| var input, velocity, freq, output; input = AudioIn.ar([ inbus, inbus + 1 ]); velocity = MPVelocity.ar(input, generation: 4); velocity = velocity * (MPSignalPower.ar(input, generation: 4) > 0.1); freq = 40 + (50 * velocity.abs); output = Saw.ar([ freq, freq * 1.5 ], velocity); Out.ar(0, output); }).store; Synth(\mpvt_test);
Files
The included plugin is compiled for Universal Binary Macs (created on a MacBook Pro); source is included for compilation on other platforms. Note that you'll need to link against Ms Pinky's libVinylTrack, provided with the MPVT SDK.