Posts tagged: scratchml
Scratch Markup Language Fader Hack

How did we track the crossfader during the Art Hack Day?!? ZOMG!! So many questions!
The answer is very simple! We used a VCA Mixer. Specifically the Vestax PMC-07 Pro. Because you know… we’re pro like that.
I hear you asking now, “But, sir! WTF is a VCA Mixer?!?!”
Well, I’m glad you asked. Allow me to explain: VCA or Voltage Controlled Amplifier means that instead of sending the audio signal to the crossfader the mixer instead sends a voltage which in turn controls the volume level for each channel. This makes determining the position of the fader very easy; simply measure the voltage for each channel.
Because we’re so damn pro and didn’t have any of the parts to make a proper Y cable we just soldered everything to the crossfader.
Go team awesome!

Yes, I hear you. You’re wondering, “That’s all well and good, but how am I supposed to hook it all up?!?”
Here I drew you a picture too!
The Arduino sketch we used can be found here.
In summation here is a list of items you must procure to do this:
- Vestax PMC-07 Pro mixer (Any VCA mixer will do, just drop the voltage to 5V or less.)
- Four 100 kilohm resistors
- An Arduino
- A proper Y cable for the PMC-07 Pro. Instructable for building it is here
- Arduino sketch found here
Build your Y cable. Make a couple voltage dividers. Hook it up like the picture above and BLAMO!
#Pro-Tip: Elliot Marx informed me that if you use an Innofader (the origional, not the Pro or PNP) it will limit the VCA voltages of the PMC-07 Pro to 5V eliminating the need for the voltage dividers. Wire colors for the Innofader are as follows:
Blue = 5V
Green = VCA1 (varies from 0 to 5 volts)
Yellow = VCA2 (varies from 5 to 0 volts, moves opposite from VCA1)
Grey = ground
Thank you Elliot!
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.
Scratch Markup Language (.sml)

SML (Scratch Markup Language) is a new file format for recording and replaying turntablism. We’ve developed open-source tools for accurately capturing the record and crossfader movements of a scratch DJ, allowing us to analyze, transcribe, and recreate scratch performances.
We want to do for turntablism what Graffiti Markup Language has done for tagging — especially teaching giant robot arms how to scratch.
At Art Hack Day we collaborated with other artists and programmers to develop the first prototypes of ScratchML. We used timecode vinyl to capture record movements ($10) and a hacked VCA fader + Arduino to record the crossfader ($30).
Scratch data was saved to disk as .sml and broadcast as OSC, which allowed other Art Hack Day participants to build visualizations based on what the DJ was scratching during the exhibition. The apps ranged from spinning-vinyl animations and TTM transcriptions to insane exploding 3D pizzas and a side-scrolling videogame shooter controlled by scratches.
Our goal is to make capturing, replaying, and sharing a scratch performance accurate and easy. SML files can be freely uploaded and downloaded from the ScratchML.com database. We’re particularly looking forward to improving the experience of learning how to scratch — e.g. by building apps that show you just how accurate your autobahn scratches actually are.
Throughout the week here on FAT we’ll be publishing ScratchML projects created during Art Hack Day, data specs, source code, hardware modification details and more.
Want to get involved? Join the ScratchML mailing list, follow us on GitHub, or email me with any questions. More info to come at scratchML.com





