NERDS WAKE UP

49 views
Skip to first unread message

Dan Moore

unread,
Jul 7, 2012, 10:18:10 PM7/7/12
to scra...@googlegroups.com
Its too quite on here. Love Monkey and I have been chatting up on IRC.
We need to go from proof of concept -> beta. I worked a bit today
getting decent XML file output from the ScratchOSC oF-app. I was
using the CD control tone track as test and it didn't seem to slow
things down (too much). I need to make the output conform the to spec
standard for now it basically logs the OSC output in xml form. The
pages are dead on the site. Anyone got PDF or working links for the
specs?

Dan Moore

unread,
Jul 8, 2012, 12:16:53 AM7/8/12
to scra...@googlegroups.com
we has markup?
session.xml

Kyle McDonald

unread,
Jul 10, 2012, 2:54:33 AM7/10/12
to scra...@googlegroups.com
semi-related: i finally took an evening to look closer at the 57sl and
don't really have any good news.

i dug around for a while to see if it was reporting any midi, and
didn't see anything.

then i plugged in to the SIXTY-EIGHTApi.framework that gets installed
when you install the drivers, hoping that it might provide me with a
backwards compatible interface (since it seems to work for the
sl2/3/4). but whenever i try to use any of the commands it just tells
me RH_RESULT_NO_DEVICE :( so i think that means i can't use their
framework, we have to use our own.

i guess the next step will be sniffing and reversing the usb packets
(or sniffing scratch live itself) but i'm pretty much out of my
territory now...

Dan Moore

unread,
Jul 10, 2012, 10:53:18 AM7/10/12
to scra...@googlegroups.com
Yeah LM4K and I have been talking about that and I wanna sniff the USB
off the thing but don't have access to one, yet. I think the thing
uses libhid and presents itself as a human input device. If you have
one you and an OS with a proper terminal you should unplug it, plug it
back in, and run: $ sudo dmesg > text.txt and send me text.txt I wanna
see what it registers as with the OS.

Jamie Wilkinson

unread,
Jul 10, 2012, 5:36:49 PM7/10/12
to scra...@googlegroups.com
I know a few people who've done USB reverse engineering before, I might see if I can get access to 57SL in San Francisco.

Have we thrown out the >20khz tone hack for doing fader tracking? Would be amazing to have any Serato setup and just use audio-out from the laptop to play the tone back into the mixer (or an Arduino that did the same)

Dan Moore

unread,
Jul 10, 2012, 5:52:36 PM7/10/12
to scra...@googlegroups.com
We can still do the >20khz tone for non fancy mixers and hack the USB for the fancy ones?   

Michael Auger

unread,
Jul 10, 2012, 6:44:53 PM7/10/12
to scra...@googlegroups.com

Its only the 57SL that needs hacking. Everything is hidden behind the HIDI lock down. The 61, 62 and 68 are all full on midi mapable. As is the pioneer DJM-T1. We have access to all of those.

That said. Interfacing directly with the mixer means scratch life can not be running. Sniffing the software and pulling the values out of memory is hands down the best approach in my opinion. Makes for a super low barrier to entry. Run an app along side ScratchLive. Then you still have something playing actual music.

My boy who is going to help reverse ScratchLive was MIA Saturday due to some personal things but is still very interested in doing it.

Travis Goodspeed is supposidly down to help reverse the USB this week but I have yet to hear a confirmation back from him.

There is another guy who is amazing at hardware reversing but can't talk about what he does due to his employment. I'm told he is down too, but that won't happen until after BlackHat/Defcon are over end of July.

Kyle McDonald

unread,
Jul 10, 2012, 7:05:11 PM7/10/12
to scra...@googlegroups.com
Dan I can get you that output tonight. 

I'm also a fan of sniffing the software instead of talking to the USB because it means anything that works with SL is good. 

I noticed that there is a section for "plugins" in SL. Does that mean if we bug the right people at Serato that there is some plugin SDK we can use instead of sniffing things?

Dan Moore

unread,
Jul 11, 2012, 10:42:28 AM7/11/12
to scra...@googlegroups.com
Neato!

Jamie Wilkinson

unread,
Jul 11, 2012, 10:51:16 AM7/11/12
to scra...@googlegroups.com
Both the plugins for Scratch Live/ITCH are official Serato plugins (Video-SL/Video + The Bridge) – but The Bridge is literally the plugin we want to clone. I wonder if we could reverse engineer THAT?

Kyle McDonald

unread,
Jul 11, 2012, 11:52:16 AM7/11/12
to scra...@googlegroups.com
so i'm sorry to say that dmesg doesn't show anything new when i plug
in the mixer, but i used the IORegistryExplorer tool to get what is
probably the most relevant info. (see attached images)

jamie + michael, is there anyone we could talk to about reversing
bridge? or someone official we could talk to about getting an API/SDK
that would allow us to design something like the bridge?
Screen shot 2012-07-11 at 11.33.19 AM.png
Screen shot 2012-07-11 at 11.33.34 AM.png
Screen shot 2012-07-11 at 11.34.15 AM.png
Screen shot 2012-07-11 at 11.34.30 AM.png

Dan Moore

unread,
Jul 11, 2012, 11:59:54 AM7/11/12
to scra...@googlegroups.com
Oh snap!  Well that info is useful to know.  So it presents itself as a multiple devices and registers each separately.  I wonder if my stupid HID debugger will be able to pick up the messages.  

Kyle McDonald

unread,
Jul 11, 2012, 12:01:09 PM7/11/12
to scra...@googlegroups.com
also note, there are those other things going on besides the HID, but
they're all just audio IO which is exposed by the usual audio
interfaces anyway.

Dan Moore

unread,
Jul 11, 2012, 1:01:13 PM7/11/12
to scra...@googlegroups.com
cool so you could actually use their entire system without using the SL software if that mixer is an audio interface and ?  I'm gonna be pushing my updates from last weekend to the Client which restores OSC messaging on what Lee did and spits out an XML file in a draft SML I call version 0.7.  If I have time I'll look into the HID stuff if I can get my hands on a 57 and write a debugger using this small lib called hidraw [1] that basically just reads the raw messages from any HID device that you point it to.   If its just a HID device, which is what that data tells me, it is just a matter of figuring out what the messages mean and saying this message with this value == the fadder and if we can run both the tracker and SL at the same time then we're good. 

But yeah getting a API+SDK for a SL plugin would like make our life super easy.


[1] uses hidraw and example code -> http://www.pjrc.com/teensy/hid_listen.html

Lee Meredith

unread,
Jul 12, 2012, 12:21:17 AM7/12/12
to scra...@googlegroups.com

I'm glad to see everybody so hungry. You guys made me step up a week and do a test on a new hack for the crossfader.  

https://vimeo.com/45619796

Sorry some of the frames drop out so this may not seem as successful as it actually is. I'll do more test tomorrow with using the Arduino for more than just power. But the crabbing is absolutely discernible by the naked eye. In the video I use 2 Hall effect sensors on both ends of the fader with a magnet used for holding on earrings placed on the post of the crossfader. I came to do this because the faders on the rane is a Hall effect sensor set up. If I had that mixer I'd like to poke around with one of the sensors and see if I could pick up the magnet.  I'd like to see this replace the hack a day set up for non-rane mixers. Super awesome to hear everybody's great ideas.

lee

Dan Moore

unread,
Jul 12, 2012, 10:07:23 AM7/12/12
to scra...@googlegroups.com
Looks cool. 

SKRAT.CH

unread,
Aug 7, 2012, 8:24:39 AM8/7/12
to scra...@googlegroups.com
Ahem... howdy everyone!

Maybe I should introduce myself but I'll skip that part using this link here: http://www.skrat.ch. If I'm not too stupid it seems you're about to solve the matter of grabbing the crossfader informations. Correct me if I'm wrong. Some of you may have visited the link above and see some similarities to the SML project. Let me explain how we captured the crossfader informations to visualize them.
  • Short story: We sent a sinus curve (mono signal) as input over the 2nd / right channel of an ordinary scratchmixer and record the output to capture the crossfader movement in realtime. The sinus curve is a constant signal. Does the crossfader a "click" we have an interrupted signal. In this video you see the crossfader movements as black dots (also as grey bars). 
The idea was to avoid any additional hardware hacks on a specific scratchmixer. We also wanted to exclude any scratchmixer out there no matter what level of technology it could be. This actually allowed us to stay universal and on top we actually received a satisfying quality in realtime.

Maybe it helps.
Cheers Ramón

Lee Meredith

unread,
Aug 7, 2012, 9:27:44 AM8/7/12
to scra...@googlegroups.com

That's really great. Do you have video with audio? Could you explain why the gray lines and black dots are in slightly different places?

lee

Ramón Mathis

unread,
Aug 7, 2012, 10:12:19 AM8/7/12
to scra...@googlegroups.com
Hey Lee

Unfortunately this video is as it is. In that environment of this prototype I wasnt able to capture the audio in the screencast.

But it's just some wakawaka ^^

The grey lines represents the time of interruption of the mentioned sinus curve. We tried then to merge the vinyl recording with this gap in form of the black dot which was added afterwards. The reason for the shift was due rapid programming and lack of time and also somehow the limitations of Jitter. The whole thing you see there was made with MaxMSP.

Sadly the prototype doesnt work properly anymore cause it uses an old MaxMSP Runtime etc...

The bottom line of the video is just a proof of concept which we made and for the future it was already clear to reprogramm the whole thing outside of MaxMSP.

Cheers Ramón

Kyle McDonald

unread,
Aug 7, 2012, 11:32:27 AM8/7/12
to scra...@googlegroups.com
This approach is really powerful because it's so cross-platform. We were talking about building a dedicated device that does the analysis without interrupting the signal significantly, so it could sit on the back of your mixer capturing movement regardless of what system you use. I think it would cost about $100-150 en masse because it would basically be a computer with a network interface and decent 4 input/6 output sound card. 

Have you ever come across a mixer that has such a steep frequency roll off that it can't pass the control sine tone?


Dan Moore

unread,
Aug 7, 2012, 12:07:12 PM8/7/12
to scra...@googlegroups.com
I've about got all of my dev hardware in to start working on the black box.  I got my proto board in for my raspberry pi so I can do some GPOI development. I've got to order a couple decent ADC and a decent DAC for the Sine Generator.  Unless any of you have a couple laying around that you want to send me : D.  I could also add Midi Out cause I have a spare one breakout board hanging around.  I could just graft a Arduino Mega onto the Pi and call it a day but where is the fun in that.  I need like what 2 of these : https://www.sparkfun.com/products/9365 and one of these https://www.sparkfun.com/products/8736.  Am I missing anything?

Kyle McDonald

unread,
Aug 7, 2012, 12:18:53 PM8/7/12
to scra...@googlegroups.com
that adc should be fine. if you can do it with a rpi maybe this whole
thing could be as low as $50?

for injecting the sine, you don't need a dac, you can just do a 555 or
something. cheaper and 0 cpu time.

also, i got my numbers wrong:

- 4 adcs
- 1 sine generator (you can split + feed it to all 4 outputs)

we're not generating any audio, since this is just a pass-through device.

Dan Moore

unread,
Aug 7, 2012, 12:40:23 PM8/7/12
to scra...@googlegroups.com
Wordy yeah that could make it even cheaper. 

Lee Meredith

unread,
Aug 7, 2012, 1:50:31 PM8/7/12
to scra...@googlegroups.com

How is the sine being tested. This maybe inconsequential if I am mistaken. :(+) 

I finished my thesis with the capability of the crossfade to check for failure when a player would not be able to perform the scratch by FFT and checked against the dropout/peaks I recorded from the previous player. The way the game was set up the turntables work independent of the beats that the players would scratch over. When doing beat juggling the beat would be shut off and I would record what the turntables/mixer were doing.  Single turntable or not it became muddy pretty quick. You know especially when I would crab it had difficulty hearing my pinky and ring finger. I thought about artificially making it cut off to try to get more precision. But "sad face." So is there a way you're checking for the sine different than this? Is this a capable of getting beat juggling?

thax lee

Ramón Mathis

unread,
Aug 7, 2012, 2:39:51 PM8/7/12
to scra...@googlegroups.com, Mutis Mayfield
Hey everyone

I'm not really sure if you're asking in my direction. In any case I suggest we should meet including Mudo aka LuthierLab aka David (Kyle should know him).

Hope this proposition is welcome.
Cheers Ramón

Lee Meredith

unread,
Aug 7, 2012, 3:55:20 PM8/7/12
to scra...@googlegroups.com
I really guess I'm looking for what's in the future for the blackbox. Dan could you make a drawing with ins, outs and labels.  Minds eye I'm sure is cloudy...
DJ Precision won last Saturday so I thought this would be a good example. 
Will we be able to capture this. http://www.youtube.com/watch?v=XoVPT7NJnno
Raman thanks it would be great to meet.
lee

Dan Moore

unread,
Aug 7, 2012, 3:57:28 PM8/7/12
to scra...@googlegroups.com
I'll get a block diagram out later once I'm out of work and back home.  But I was gonna go off what Love Monkey sent out, more or less. 

Dan Moore

unread,
Aug 8, 2012, 3:08:47 AM8/8/12
to scra...@googlegroups.com
So here is a Block Diagram for what I'm thinking about hardware.  

An ATMega generates the control tone and reads back the input to track the Fader Movements.  The R-Pi has 2 additional Stereo ADC daisy chained on the GPIO's SPI Bus to track Vinyl Pos with ScratchOSC and/or ScratchML with a Graphic Output and with OSC Output. 
BlockDiagram.pdf

Dan Moore

unread,
Aug 9, 2012, 1:11:50 PM8/9/12
to scra...@googlegroups.com
so this threw my whole block diagram out the window http://www.raspberrypi.org/archives/1734
Reply all
Reply to author
Forward
0 new messages