Brian Strope

bps@ucla.edu

Speech Recognition with Parallel Processors

This project focused on implementing a connected speech recognition system on a network of loosely coupled parallel processors. The goal was to break the recognition task into several independent pieces that could run concurrently to achieve real time performance with mid-80s hardware.

The system hardware was a network of Motorola 68010 based processors, each running a Unix-like operating system locally out of independent memory (the LEMS "Armstrong" system at Brown). Communication between processors was through a LAN-like 40 Mbit/sec serial connection. Explicit operating system (process to process) calls coordinated system synchronization. All software (with the exception of the local spectral distance measure, written in assembly) was written in C.

The recognition task was divided into two pieces: front-end signal processing for spectral vector extraction, and pattern comparison with explicit templates using a dynamic programming solution. Because we were limited to fixed-point processing on the MC68010, DFTs for the front-end were implemented using the Winograd Fourier Transform to avoid all multiplications. Six processors (and one data acquisition and distribution process) were pipelined, with each processor receiving every sixth data frame, to keep the front-end at real time.

The dynamic programming solution requires comparisons between the current speech (candidate) and examples of each utterance in the vocabulary (templates). A single processor was dedicated for each template. Two templates were used for each utterance in the vocabulary. Concurrent pattern comparison provided the majority of the performance advantage of the parallel implementation.

Other independent processors controlled speech detection, an expert decision algorithm to piece continuous recognition output together from accumulated DP distances, graphical display, data segmentation and distribution, and top-level process control.

This project was the subject of my honors thesis completed in '89. I worked together with John Adcock, another undergraduate student (then from the CS department). John worked at Lockheed Sanders in New Hampshire for two years, and then returned to LEMS at Brown, where he will soon complete his PhD in EE.


home page
bps@ucla.edu