[linux-audio-dev] Final Scratch, custom kernel?

Lance Blisters geoff at lek.ugcs.caltech.edu
Mon Oct 7 15:23:01 UTC 2002


> On Mon, 2002-10-07 at 18:36, Lance Blisters wrote:
> 
> >   How do you handle lifting, moving, and setting down the needle?  Could we
> >   get needle-up and needle-down events?
> 
> The final scratch plates have time info encoded in the signal.  Not that
> I know much about it, but I'd imagine that was, in fact, the only thing
> encoded in the signal; can't think of much use for anything else.
> 
> I wondering how Mr "x" (ack, btw) calculates time?  What does the
> "rising" in "440Hz rising saw" refer to?

  "rising" means amplitude ramps up as time goes forward, then drops
  down to zero.  If you detect that the waveform is jumping from zero
  then ramping down, you know that the record is spinning backwards.
  Counting time between peaks gives the rate.  This is good enough to
  track relative position through rate and direction changes.  If you want
  to be able to pick up the needle and move it, you'd need an idea
  of the absolute position in the record.  Probably, you'd have a stereo
  saw tooth pattern where the phase between left and right channels
  went from in phase to 1/2 cycle out of phase over the course of the
  entire record.  Then, the difference between peak locations in left and 
  right channels, or the difference in instantaneous amplitude between left and 
  right channels will tell you where you are in the record.  This is
  important because dj's pick up the needle and move it to a different
  part of the song while cueing.

  I was mostly thinking about detecting the needle-up when the waveform
  disappears, and needle-down when the waveform reappears.  Then the
  apps could handle the needle-up case however they wanted... go silent
  like vinyl, or keep playing until the next needle-down, etc.

  -geoff




More information about the Linux-audio-dev mailing list