ScratchML Data Spec

ScratchML, like GML, is an XML-based format for storing information about the position of the record and crossfader during a scratch performance.
This is a “beta” release of the .SML file format, with sample data for 1 turntable and 1 crossfader. The format is designed to accomodate multiple turntables and crossfaders and a wide variety of data capture techniques, but we’ve only field-tested it against the basic 1 deck + 1 mixer scratch setup, which is what we were working with this weekend.
The two most important fields are:
<turntable>— stores data about the playback position on the record as a consistently sampled stream of floats, with<samplerate>samples per second.<fader>— stores data for crossfader movements, ranging from 0 (full-left) to 1 (full-right). This data is stored only when the fader actually moves, and is stored as<p>(position) and<t>(time) tuplets.
Sample data produced by LM4K, mostly baby scratches and flares: XML / JSON
Spec + commentary: ScratchML r6 beta spec:
The ScratchML.com database can also automatically convert from XML to JSON for use in javascript visualizations. Change the .xml file extension to .json, and optionally pass a JSONp ?callback= parameter, like this.
During Art Hack Day we converted SML to OSC and broadcast it over the wifi for realtime visualizations — more info to come about that.
A raw .sml file, from the Art Hack Day photo set.
This post also on:
- fffff.at (January 31, 2012)