Hacker News new | past | comments | ask | show | jobs | submit login

> URH allows easy demodulation of signals combined with an automatic detection of modulation parameters making it a breeze to identify the bits and bytes that fly over the air

Something I’ve been wanting to do for a long while is to figure out how to decode the time code audio signal of Serato Control Vinyl.

I briefly looked at the audio signal of Serato Control Vinyl in Audacity and you can tell that it should be possible to reverse engineer what’s going on. The signal if I remember correctly looks like a blend between a sine wave and a triangle wave, with a sort of “bend” that it looks like half of a banana kind of. Furthermore from memory the frequency of the signal changes over time, the shape changes, and there is a (possibly changing) phase difference between the left and right channels.

Somehow, this encodes a time code. And I can tell that it makes sense that you’d be able to tell the time from looking at the changes in the signal. But I don’t know how to actually decode it in order to determine the time code.

Serato Control Vinyl is used for Digital Vinyl Systems (DVS) in DJing. It allows you to use the control vinyl on a vinyl player and hook it up to your computer in order to control the playback of audio on the computer.

This way you can use physical control vinyl to do scratching and other DJing, and the software on the computer is able to very accurately manipulate the playback of digital audio based on the analog time code signal, so that speed and direction and time position is accurately tracked with high fidelity.

For anyone else who also thinks this sounds interesting, download the control CD from https://serato.com/controlcd/downloads and look at the audio signal, it is similar (possibly even the same?) as the one on the control vinyl.

In fact there is already some third-party software that supports using the Serato control vinyl. For example, the open source Mixxx. https://manual.mixxx.org/2.3/en/chapters/vinyl_control.html

However, Mixxx is GPL v2 licensed, and I am hoping to implement interoperability with Serato control vinyl in software that is either ISC licensed or proprietary, so I don’t want to even look at GPL licensed source code.

If anyone is able to figure out how the time code signal of Serato control vinyl works, or knows of an existing description of it that can be used for implementing software for it, please let me know.




Happy to see another DJ nerd here.

Mixxx's timecode engine is powered by xwax:

https://sourceforge.net/p/xwax/mailman/xwax-devel/ I'm pretty sure there was a thread on the mailing list where they talked about it.

My understanding is that there are "directional" and "positional" signals on the timecode to give you "relative" and "absolute" positioning.

You may be able to glean more from mspinkys as well: http://www.mspinky.com/SoftwareSpec_0.0.6.pdf (no code here, just function names and descriptions)

Good luck!


Thank you :)


That brings back nice memories, I designed some of the early Serato scratch hardware. I didn't work for them directly though, so never did manage to find out how the vinyl timecode worked.


Cool! If I ever run across you IRL I’ve got to buy you a beer and pick your brain :D




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: