[CM] Using snd to search for skips in vinyl recordings

Robert Komar rkomar@telus.net
Wed, 22 Oct 2003 09:17:11 -0700 (PDT)

Hi all,
I originally sent this only to Bill Schottstaedt, but he suggested
I post it here in case any else is interested in helping with this.

I've been using snd for many years now to help with the recording of my
vinyl albums to WAV files.  It has proven very useful for tuning the
track separation points given by gramophile (a program specifically
aimed at making recording from vinyl easier), and also for editting
out the parts where the needle skipped back out of the groove.  Up
until now, I've been searching for skips by setting the time scale
so that the axis ticks are spaced 2 seconds apart, and then scrolling
through the whole file and looking for repeating waveforms by eye.
The problem is that this is tedious and I occasionally miss a single
skip.  Is there some way that I can search for skips (i.e. repeating
waveforms in both channels with a 1.8 second period, usually but not
always accompanied by a noise spike) programmatically?  I'm thinking
that I want something like autocorrelation, except instead of moving
a window with a fixed waveform over the whole signal, I want to get
the correlation between a 1.8 s window and the following 1.8 s of
signal (in both channels), starting at the cursor and then moving over
the rest of the data.   Unfortunately, I don't know either Scheme or
Ruby, so I'm hoping that someone else has solved this already ;).  I
do know that snd is being used by others recording their vinyl to WAV
files, so I have some hope that I'm not the first to think of this.

Rob Komar