ScratchML

ScratchML (2012), or Scratch Markup Language (.sml), is an XML-based file format for recording turntable and crossfader data during scratch performances. Like GML for graffiti, but for turntablism.
It started with Michael Auger, Kyle McDonald and me at FAT Lab, building on the same ideas as Graffiti Markup Language. The idea is as old as GML. We also owed a lot to prior turntable-capture work like TTM and Ms. Pinky. Many thanks to Kirk Moreno and Lee Meredith, as the original About page put it.
The goal was to do for scratching what GML did for graffiti: an open format you could capture, replay, analyze and share. And, eventually, teach giant robot arms how to scratch.
Art Hack Day, January 2012
- January 17, 2012: Create Digital Music posts the open call, looking for web designers and developers, hardware hackers, coders and musicians.
- January 22: scratchml.com goes online.
- January 26–28: Kyle and I build the first prototypes at Art Hack Day in Brooklyn, with a public show at 319 Scholes on Saturday night. Record movement came from timecode vinyl ($10). The crossfader was a hacked Vestax VCA fader plus an Arduino ($30).
- January 30: the announcement. Scratch data was saved as .sml and broadcast as OSC over the wifi, so other Art Hack Day artists could build on it live.
- January 31: the r6 beta data spec.
Building ScratchML at Art Hack Day, Brooklyn, January 2012.
The OSC stream powered spinning-vinyl animations, TTM transcriptions, exploding 3D pizzas and a side-scrolling shooter controlled by scratches. That last one was Aliens That Look Like Skrillex, where you battle the DJ in real time. TechCrunch credits the team from Canvas. Core77 also credits Quin Kennedy on the team and Gene Kogan on visuals.

Live turntable and fader data on screen at Art Hack Day, 2012.
The format
The beta spec has sample data for one turntable and one crossfader. It’s designed for multiple decks and a wide range of capture techniques, but we only field-tested the basic 1 deck + 1 mixer setup.
<turntable>: playback position on the record, as a steady stream of floats at<samplerate>samples per second<fader>: crossfader position from 0 (full-left) to 1 (full-right), stored only when the fader moves, as position and time pairs
The start of the r6 sample file, 2012.
The sample data was scratched by Michael Auger, aka LM4K, mostly baby scratches and flares. The ScratchML.com database could also convert any file to JSON for JavaScript visualizations.
Press
- Create Digital Music (January 17, 2012)
- Broken City Lab (January 30, 2012)
- The Verge (January 31, 2012)
- Nerdcore, in German (January 30, 2012)
- TechCrunch (February 1, 2012)
- Geeky Gadgets (February 1, 2012)
- Core77 (February 6, 2012), which also credits Quin Kennedy with Kyle and me on the DJ hardware at Art Hack Day. Thanks, Quin.
Links
- ScratchML on GitHub: the website, the Scratchbook database, ofxXwax for openFrameworks and OSC clients
- ScratchML r6 beta spec
- ScratchML.com, archived. The domain now belongs to someone else.
- Original spec on fffff.at
See also: Graffiti Markup Language (GML), FAT Lab