Scratching began as a practical means by which DJs could cue records. (So say originators like Grandmaster Flash; if you’re interested in the history, check out the fantastic documentary Scratch — trailer above.) But something about the gesture, the mechanical feeling of scratching, and all that history has made the turntable compelling as a controller. It’s even taught as an instrument at Berklee.
So, what if you want to scratch for purposes other than conventional DJing?
Getting at Timecode
Digital vinyl systems like Serato Scratch LIVE and Native Instruments Traktor Scratch are designed for DJs. Part of the whole advantage is that you get an integrated system with vinyl, decoding capability, audio interfacing with the computer, and software for DJ functions. If you want to take the turntable to other frontiers, you have to find a way to get the timecode data from the vinyl directly and do something different with it, like control an instrument or scratch visuals. (Only recently did a big-name, mainstream DVS, Serato, take on visuals, as seen on Create Digital Motion, and even then it makes some assumptions about what you want to do.)
We’ve seen a few examples of how to do this:
- Ammobox, an open-sourced, free Reaktor ensemble from Nathan Ramella, breaks the rules of how timecode decoding is supposed to work in a wonderful way, enabling something he calls "polyphonic scratching." Since it sends MIDI, you can control other stuff with it, and since it’s built in Reaktor, you can customize the workings of the ensemble or integrate it into your own creations.
- Ms. Pinky vinyl comes with a Max/MSP external for use in patches. The object also works with Torq vinyl; see comments. And talk about non-conventional DJing: the tech has produced art installations made with turntables in tree trunks and turntable-controller vibrating furniture, pictured top right. (Does anyone know if it’s possible to port the Ms. Pinky object to Pd as well as Max?)
- xwax is an open-source, Linux-based vinyl emulation software. Unlike the other two options here, it is actually intended for emulating digital vinyl systems on Mac and Windows; there are even open source drivers for Rane and Stanton audio interfaces. But to many of us, that isn’t nearly as interesting as doing something different with the vinyl.
A New External for Digital Vinyl in Max, Pd
Niklas Klügel writes to let us know he has a new alternative. He’s done a "quick hack" of wrapping the timecode-decoding code in xwax for Max/MSP and Max’s open-source cousin, Pure Data (Pd), for support on Mac, Windows, and (Pd only) Linux. The ability to support both Max and Pd comes from a helpful cross-platform development layer for C++ programmers called flext.
The result: you’ve got an object you can use in your Max and Pd patches that supports Serato (2nd edition) and Traktor Scratch vinyl. You get output for pitch and relative position.
Decoding timecode is a non-trivial problem in a number of ways, so there are some glitches — Niklas reports some trouble determining the start point of a record. (He explains, "I do not exactly know whether all vinyls start with the same timecode; I could have hardcoded it into the application (taking that from the one I have) but on the other hand you have a tad more freedom regarding the resolution of the positioning.")
But since part of the idea is to change the way the vinyl works, that may be okay. And if you do start the record at the beginning to get the start point, absolute-style positioning seems to work, as well. Niklas says the idea of this, far from emulating existing DJ systems, was to make an expressive controller. He writes:
I wrote the external to have control over the pitch and stretching/interpolation of samples to do glitchy sounds using the turntables while having somehow accurate instant control. It works surprisingly well. It’s somehow funny to see/hear when simple things turn out to be very expressive – musically.
This is a first hack, not an official solution, so part of why I bring it up is I hope the CDM Army will go out and test the thing, particularly on the just-released Max 5. Coders, you may want to have a look at xwax’s timecoder, too; it apparently works very well, and fits sveltely in about 600 lines of code.
But is it Legal?
A number of readers wondered about the implications of an announcement this week that Native Instruments had settled a patent dispute and would officially acknowledge and license N2IT’s vinyl technology. (N2IT originated the FinalScratch digital vinyl system, later marketed by Stanton with software from Native Instruments.) Will N2IT decide to protect its patent with open source projects like xwax, or competing vinyl systems like Serato Scratch LIVE? Honestly, I don’t know, and anyone who does know is unlikely to say anything given the possibility of ongoing legal action. N2IT did sue Native Instruments, even though NI has built its current Traktor Scratch on a new codebase and with a different system for vinyl timecode, so I would suspect it’s possible someone like Serato could wind up with a case of their own.
The difference with xwax and Ammobox, however, is that these systems are simply decoding information already printed on the vinyl. vinylcontrol~ and Ammobox just do the decoding, so they really aren’t complete digital vinyl systems — part of what I find appealing, for different kinds of projects. With other projects that decode vinyl (PCDJ and Deckadance, for instance), my guess would be that decoding solutions are relatively safe. But I’m not a patent lawyer, and I don’t know what N2IT is planning.
Go Ahead, Touch It
In the meantime, though, what’s exciting here is to create new projects that do things with vinyl that haven’t been done before. After all, experimentation and rule-breaking (don’t touch the records!) is how scratching got started in the first place.
Vibrating furniture, anyone?