This is the pitch processor board from the Lexicon Model 2400 Time Compressor
Expander. **(**There is a separate Splice
Board I designed to do the splicing and digital filtering.**)**
In the upper right-hand corner is the label
Confidence Board because this board also produced an estimate of assurity of
the measured pitch. I designed this
board and I also laid it out with the help of Joe Zagami on a Mentor Graphics workstation.
The unit is controlled by two TMS 32010 DSP
chips (purple). The remaining chips comprise
a discrete parallel and pipelined mathematical coprocessor operating with a clock
rate of 20 MHz. **(**In 1986, that was fast.**)** Each of two parallel
computational paths makes a U
so that data physically flows away from the TMS 320s and then back again.

The algorithm executed by this hardware is an average-magnitude-difference periodicity detector that I made capable of detecting sub-harmonics of polyphonic sounds. It was also made capable of distinguishing noise from pitched sounds. The latency is about 5 milliseconds, so a pitch estimate was always requested for some particular point in the future. This board was capable of fulfilling hundreds of pitch estimate requests per second. To give a rule of thumb for the requirements, every 1% absolute change in playback time requires about 1 splice per second. The 2400 provided only 0.75 - 1.333 factor changes in runtime. To determine the optimal splice point, many estimates of pitch were requested to find just the right place. The unit would hold off splicing as long as possible until a good splice point was found. Confidence in the estimate was weighed against urgency to splice. As time went on, urgency outweighed the confidence and so a splice would eventually be made. If perfect splice points were going by and the time compression factor were not exactly 1, then perfect splices would be made ahead of any urgency requirement. The splice points were thus only statistically characterizeable.

When runtime is sped, splicing eliminates redundant information. When runtime is slowed, the splicing algorithm synthesizes audio from neighboring wave cycles. So, in that sense, the device is a synthesizer.

In either case, a raised cosine is used to make a splice because that shape can be shown to produce least distortion in the event of error in a periodicity estimate.