Inside Timecode- Understanding the Basics pt 2

The better you understand the technology we dj with, the more empowered you are to fix problems and improve performance. Last week we published an article on fixing common timecode problems. This week we will take you deeper inside timecode technology and show how a computer can accurately track a record’s position.

Traktor Scratch’s timecode vinyl and timecode CDs contain an audio signal constructed from two sinus waves with a frequency of 2 KHz. Serato Scratch and many other competitors have frequencies of 1khz. This signal is analogue and can be brought into to the computer through any audio interface.  Once in the computer, the timecode decoder extracts three different types of information from the incoming signal:

  • Playback speed of the timecode vinyl or timecode CD, respectively,
  • Playback direction (forward, backwards) and
  • Current playback position on the timecode vinyl or on the timecode CD.

Playback Speed

The detection of the current playback speed isn’t too complicated because the decoder knows the original frequency of the timecode signal. If playback is slowe, then the frequency of the incoming timecode signal will be lower than the original frequency. If the rotation speed of the turntables or CD player is higher than 100%, then the frequency increases. The timecode decoder analyzes the frequency of the incoming signal and uses the difference between the original and the incoming frequency to calculate the current speed. Traktor can then match the playback speed of the deck to the playback speed of the timecode medium.

*Good To Know* Because Traktor uses the frequency to calculate the speed you must never activate the Master Tempo feature available on many CDJ players, because the Master Tempo function corrects the tone pitch. This is not wanted when using timecode.

If you are using turntables, which always flutter, the BPM display on a timecode controlled deck is never stable; dont worry- the program is not broken, this simply reflects the flutter of the turntables.

Playback Direction

For forward playback the frequency information is already sufficient but it is not enough to determine whether the timecode medium is moving forward or backwards. This information is absolutely necessary when scratching or manual beat matching. To detect the playback direction the timecode signal is constructed from two sinus waves, one for the left and another one for the right channel. The phases of both waves are slightly shifted. This can be seen in the following figure which simulates this (let’s assume the upper wave is for the left and the lower one for the right channel).

Because of the phase shifting the right channel is a bit ahead of the left channel. When the right channel meets the zero line, then the values of the amplitude of the left channel are negative. When the playback direction is reversed and the right channel reaches the zero line, then the values of the amplitude of the left channel are positive.

*Good To Know* This is also the reason why Traktor always needs the timecode signal of the left and the right channel to function properly. If one channel is missing (maybe because one cable is not connected or because the contacts of the cartridge are black or dirty) only forward playback will be possible. This mode is called emergency mode. More practical information about the left/right channel topic can be found in this tutorial where timecode configuration is covered.

Current Playback Position

This brings us to the third and last question, how does Traktor recognize the current playback position. Unfortunately we will never know the answer because it is one Native Instruments best kept secrets. If you have a very close look at a piece of timecode vinyl you will see little data packages as small boxes, where the position information is hidden.

Rainer G. Haselier is the author of the “Traktor Pro Bible“.  Dj TechTools readers may use the following discount code to get 15% off the book in the CreateSpace e-store:  SWBLQERF

CalibrationScratchTimecode ControlTimecode DecoderTipsTraktor Tips
Comments (31)
Add Comment
  • Anonymous

    why does the track play super slow when i use serato control vinyl? Is there any way to fix this?

  • eldiablo

    I have a problem and if anybody could help I will appreciate very much! Here we go: > > I buy traktor scratch pro with the audio 8 and 2 “cdj”… the news reloop rmp-3 … I made everything like the manual , I see very videos tutorial like the cable installation and setup definitions …its all equal and correct but when I play music with the cds and time codes the music seems fine, correspond with the commands , the tempo are fine, the music plays , stops , the pitch fine , etc… it calibrates fine, but sometimes in the scope view of the time cope appears one error ( CD SKIPPING ) and the music fails a little , it breaks, with my vinyl plays fine and internal mode too, cds are fine they are brand new , and all connections fine , and don’t have enable any function in cdj like key lock or other… there aren’t vibrations, it happens in both cdj with different time code cds… could you help me? Thank you

  • Engineer

    About the position, Traktor uses 23 bits (contrary to Serato which uses 20 bits). Then it’s based on Linear Feeback Shift Register.

  • BentoSan

    [quote comment=”20700″]Don’t suppose there’s a guide to the same level as these tailored specifically for serato users is there?

    Thanks,

    Oli[/quote]

    We dont have one on the site, but alot of these same principles also apply to Serato.

  • Oli D

    Don’t suppose there’s a guide to the same level as these tailored specifically for serato users is there?

    Thanks,

    Oli

  • Oli D

    [quote comment=””]Rainer,
    Once again, EXCELLENT information. Truly a GURU.[/quote]

  • Dave Ramana

    Rainer,
    Once again, EXCELLENT information. Truly a GURU.

  • Lewis Fisher

    [quote comment=”20549″]Dear Djtechtools/Ean.

    I Have some timecode problems with my new traktor, I got traktor scratch one week ago and the very first time I manage to use the timecode vinyls with no probem, then I change the Tsi because I wanted to use a midi controller vci-100 and worked ok, then the next day, I wanted to use the the timecode cds and I did pretty much the same I did when I use the turntables the first time and it didn’t work, the I try the vinyls again and it did not work either, I follow the instructions step by step, I changed the input on the audio 8 dj, have pretty much tried every logical step to make it work and I’m still no able to make the work, can you please help me solve this problem??

    I have a white macboook, 2.2ghz, 2gb, using os x 10.5.7

    Thanks and keepup the great work

    Max[/quote]

    check all the preferences that the audio 8 is the soundcard and external sound box is highlighted , also that deck A + B have scratch control selected and the turntable symbols are highlighted underneath the wave display.

    i use both scratch and midi control every week gigging and it can be a pain in the arse setting up for scratch in a dark dj booth especially when you have the length of a track to set up.

    always best off saving a default .tsi file yourself that you know that works in case of any problems with settings.

  • Rainer G. Haselier

    Thanks for all follow-ups and for sharing your knowledge by giving more detailed technical information than I did. The main goal of this part was giving a little bit of technical background to help soling calibration and cabling issues. However, I will improve the section about the position information in an upcoming update of the Traktor Bible.

    Rainer

  • Max

    Dear Djtechtools/Ean.

    I Have some timecode problems with my new traktor, I got traktor scratch one week ago and the very first time I manage to use the timecode vinyls with no probem, then I change the Tsi because I wanted to use a midi controller vci-100 and worked ok, then the next day, I wanted to use the the timecode cds and I did pretty much the same I did when I use the turntables the first time and it didn’t work, the I try the vinyls again and it did not work either, I follow the instructions step by step, I changed the input on the audio 8 dj, have pretty much tried every logical step to make it work and I’m still no able to make the work, can you please help me solve this problem??

    I have a white macboook, 2.2ghz, 2gb, using os x 10.5.7

    Thanks and keepup the great work

    Max

  • ko1N

    The resolution of the Timecode is independent of the RPM (At least if you count for a length, not for a certain time)

  • Mudo

    Look at NS7

  • ToS

    Good article. Even better comments. Tnx all.
    Question: does traktor-scratch-engine(the one that makes digital mp3 sound like wax) sounds same with DVS and (very)high resolution jog-dial?

    2KHz DVS on the outermost rim (12″) has a resolution of:
    45RPM – 2500 per turn
    33RPM – 4000 per turn
    Well, something is wrong with my math but I can’t get what.

  • Chris combe

    very good article and very useful, especially the master tempo button, I learnt that one the hard way 🙂

  • ko1N

    I think they use harder wax for the vinyls…
    At least my records didn’t wear that much. Anyways, you need to replace timecodes after heavy use (especially the beginning of the timecode breaks kinda fast due to much cueing).
    But as I mentioned it’s possible that most manufacturers use some automated error-checking and correction on the timecode signal (as they do with the sine curves – but this is based on audio filters imo). They may use parity based approaches to correct their timecode or some other error correcting algorithm (see http://en.wikipedia.org/wiki/Error_detection_and_correction#Error_detection_schemes)…

    And anyways, they can interpret the timecode value based on the formerly read timecode value (if you dont lift the needle). So if one time value doesn’t fit to another one it’s very possible that one of them had an error…

    Best regards Koin

  • mpetersen3

    ahh yea koin, that would make much more sense, but the only thing I would think would be that this method would work less well with wear than using a varying sinusoid and interpolation, I am not saying that they aren’t using this, merely that I am surprised a bit that they are, as wear would cause necessary replacement (which I guess they don’t mind).

  • tobamai

    Heh, “best kept secret”? Position is based on timestamps. That’s why a needle drop in a DVS is never instant. Different DVS’s will encode a timestamp in different ways, Traktor’s sure looks to me like it’s based on an AM bit signal like MPetersen3 suggested. Either way, if you’ve written a book you should do the research in public patents to provide accurate information instead of claiming it’s a secret. 😉

  • ko1N

    The position is encoded in the frequency signal as is. A 2khz sound is basically just an really fast alternation between a positive and negative signal from the needle (it’s 2000 times per second, because it’s 2khz xD).
    You may now just look at a high peak value as a 1 and at a low peak value as a 0. The position is then encoded into these 1s and 0s. Basically it’s just an integer value encoded in binary format in both channels together. An integer consists of 4 bytes which equals 32 bits.
    So as you may see it’s kinda hard to reveil the timecode from a dirty signal that is natural when using vinyls (caused by dirt, abused vinyl, noise from the PA, etc.).
    This just explains why it takes the software a few milliseconds to get the correct position when changing the needle (or why it doesn’t recognize the position at all).
    Each manufacturer uses his own algorithms for error checking to prevent such bad detections (cause one single missing bit may make the timecode unreadable, even if the speed and direction are tracked correctly – These are much more failsave)!

    Hope this explains it a bit in depth…

    Here is additional reading material:
    http://en.wikipedia.org/wiki/Final_Scratch#Finding_position

    Best regards, Koin

  • Mudo


    Torq and Ms. Pinky have another system to calibrate. Visit ms. pinky forums for details.

    About 2kz and 1kz it is hardware dependant and “as everybody” could notice higher frecuencies not are the best in al “manipulation” scenarios.

    Ask about scratching with serato vs traktor. Traktor has twice “references” than serato but it is ok for mixing (estable decoding scenario) when you make an scratch… the wistle and the decoding algorithm have the clues for true control.

    Of course Serato is more stable but they doesn’t want video, fx and midi… (in the beggining, now they are working in the same direction as traktor).

    All of these math are the “true” reasons behind SL3 update.

    People are waiting “improvements” from Serato which justify the update.

    look at Hz and stay alert.

  • DaScratcher

    Coming from a signal processing background, I agree with “mpetersen3”. As, both playback position and direction of rotation can very easily be detected if one uses a slowly increasing sine wave frequency. I believe all timecodes use the same principle. To make this less obvious they would have inserted one more on right or left channel or inserted a modified whitenoise. The extra signal maybe wholly unnecessary or just there for other signal processing and calibration requirements. The key to know this is process the frequency at a decent sampling rate (>/= 48 Khz) and bit rate (>/=16 bit) to capture the small change in frequency. I like to see “Rainer G. Haselier” and others arguments to this.

    Traktor uses a higher frequency and it soundcard has a better spec than most. Technically this means better results than Torq and Serato.

  • Tomek

    Honestly, I am getting quite frustrated why on earth I bought this book if almost all useful tutorials/know how is just given away for free on the internet …

  • algorithmdetroit

    well what about Torq’s timecode. There is no way to adjust these w\variables onscreen,if so—– how?

  • NoBody

    I was kidding above… there is no such thing as a sinus wave.

  • Dj Nvidia

    Good to know,

    but I doubt I will be using a time-code anytime soon…

  • compact

    btw.

    serato uses a kind of white noise against the other competitors sine´s…

  • compact

    sinus=sine

    both are sinus shaped!

  • BentoSan

    Sinus waves and Sine Waves are one and the same

  • NoBody

    Sinus waves? Is that anything like the classic sine wave?

  • mpetersen3

    couldn’t traktor use AM modulation, and combine a 2k frequency with a chirp signal that varies its frequency throughout the length of the vinyl, and thus by taking the instantaneously varying frequency (not the 2k carrier freq btw) at any time you could interpolate to find the position? Thus this combination of amplitude and frequency modulation could yield both relative and absolute position data.