A SYSTEM AND METHOD FOR RECOGNIZING SPEECH

Abstract: A speech recognition system and the method therefor, which analyzes a sampled clipped speech signal for identifying a spoken utterance. An input signal representative of the spoken utterance is passed through a clipper (20) to generate a clipped input signal. A sampler incorporating a shift register (40) generates a plurality of discrete binary values, each discrete binary value representing a sample value of the clipped input signal. A processor (60) then analyzes the plurality of sample values thereby identifying the spoken utterance. The speech recognition system of the present invention eleminates the bulky and expensive A-D converters used in prior art systems and reduces memory requirements.

Description: A SYSTEM AND METHOD FOR RECOGNIZING SPEECH Technical Field The present invention relates to speech recog¬ nition systems and more particularly, to a system for recognizing an utterance as one of a plurality of refer¬ ence utterances, and the method therefor. Background Art In communication, data processing and control systems, it is often desirable to utilize speech as direct input for data, commands, or other information. Speech input arrangements may be utilized to record transactions, to record and request information, to control machine tools, or to permit a person to interact with data processing and control equipment without diverting attention from other activity. Because of the complex nature of speech, its considerable variability from speaker to speaker and variability even for a particular speaker, it is difficult to attain perfect recognition of speech segments. One type of known speech recognition system converts an input speech signal into a sequence of phonetically based features. The derived features, generally obtained from a spectral analysis of speech segments, are compared to a stored set of reference features corresponding to the speech segment or word to be recognized. If an input speech segment meets pre¬ scribed recognition criteria, the segment is accepted as the reference speech segment. Otherwise it is rejected. The reliability of the recognition system is thus highly dependent on the prescribed set of reference features and on the recognition criteria. Another type of speech recognition system disclosed in the article "Minimum Prediction Residual Principle Applied to Speech Recognition, " by Fumitada Itakura in the IEEE Transactions on Acoustics, Speech, and Signal Processing, February 1975, pages 67-72, does not rely on a prescribed set of spectrally derived phonetic features but instead obtains a sequence of vectors representative of the linear prediction char¬ acteristics of a speech signal and compares these linear prediction characteristic vectors with a corresponding sequence of reference vectors representative of the linear prediction characteristics of a previous utter¬ ance of an identified speech segment or word. As is well known in the art, linear prediction characteristics include combinations of a large number of speech features and thus can provide an improved recognition over arrange¬ ments in which only a limited number of selected spec¬ trally derived phonetic features are used. The prior art systems mentioned above require the use of an A-D converter in order to digitize the input speech signal, the digitized quantities being stored for subsequent processing by a digital computer or processor. The amount of storage required to store the digitized quantities, while dependent upon the sampling rate, can be extremely large. Therefore, there exists a need for a speech recognition system which would eliminate the plurality of spectral filters, eliminate the bulky and costly A-D converters, and reduce memory requirements of the prior art systems while maintaining a high degree of speech recognition capability, and also be more readily implementable in VLSI technology. Disclosure of the Invention It is accordingly an object of the present invention to provide a relatively inexpensive speech recognition system having reduced memory requirements. According to one aspect of the invention there is provided a speech recognition system characterized by means for clipping arranged to receive an analog input signal representative of a spoken utterance and to gen¬ erate a clipped input signal, sampling means for sampling said clipped input signal, operatively connected to said means for clipping, to generate a plurality of discrete binary values, each discrete binary value representing a sample value of said clipped input signal, and means for analyzing said plurality of sample values thereby identifying the spoken utterance. According to another aspect of the invention there is provided a method of recognizing speech char¬ acterized by the steps of: a) clipping an analog input signal representative of a spoken utterance to generate a clipped input signal; b) sampling said clipped input signal to generate a plurality of discrete binary values, each discrete binary value representing a sample value of said clipped input signal; and c) analyzing said plurality of sample values thereby identifying the spoken utterance. Brief Description of the Drawings One embodiment of the present invention will now be described by way of example with reference to the accompanying drawings, in which: Fig. 1 shows a block diagram of the preferred embodiment of the speech recognition system of the present invention; Figs. 2A through 2C, which taken together as shown in Fig. 2D comprise Fig. 2, show a logic diagram of the digital computer input elements for the speech recognition system of the preferred embodiment; Fig. 3 shows waveforms and sample values asso¬ ciated with the various logic elements of Fig. 2; Fig. 4 is a general flow diagram of the data base building process, or learn mode, of the present invention; Fig. 5 is a general flow diagram of the recog¬ nition process or mode of the present invention; Figs. 6A and 6B is a detailed flow diagram of the learn mode of Fig. 4; and Figs. 7A through 7B is a detailed flow diagram of the recognition mode of Fig. 5. Best Mode for Carrying Out the Invention Referring to Fig. 1, there is shown a block diagram of the preferred embodiment of the speech recog¬ nition system of the present invention. The speech recognition system 1 comprises a bandpass filter 10 which receives an INPUT SIGNAL. The INPUT SIGNAL is an electrical signal representation of the uttered speech provided by a transducer or electroacoustical device (not shown) . An infinite clipper 20 is operatively connected to a sample clock 30, a shift register 40 and the bandpass filter 10. A first in-first out buffer (FIFO buffer) 50 operates as a buffer between a digital computer 60 and the shift register 40, the FIFO buffer 50 and shift register 40 being clocked by the sample clock 30. The digital computer 60 has an associated storage 70 for providing storage capability, and outputs a signal (OUTPUT SIGNAL) which is a digital quantity, in BCD or other appropriate format, indicative of the recognized speech utterance. The operation of the speech recognition system 1 will now be described generally in conjunction with Figs. 2 and 3. A speech utterance contains a multiplicity of resonant frequency components which are modified dynami¬ cally by the characteristics of an individual's vocal and nasal tracts during the speech utterance. (A speech utterance refers to a word or group of words spoken in a continuous chain and is not meant to refer to a grunt or other unintelligible sound. ) These resonant character¬ istics or frequencies are called the formant frequencies and reside in a spectral band as follows: F0 0-300 Hz (fundamental) Fl 200-999 Hz F2 550-2700 Hz F3 1100-2950 Hz Fundamental formant FO contributes significantly to the "pitch" of the uttered speech but contains little intel¬ ligence. Formants having a higher frequency than for¬ mant F3 contribute little in terms of energy in a spec- trogram and have been shown to have little effect on the intelligibility of speech. Therefore, in order to eliminate the fundamental formant FO, and in order to eliminate the higher frequency formats which contribute little intelligence, the INPUT SIGNAL is passed through bandpass filter 10. Referring to Fig. 2, bandpass filter 10 com¬ prises a low pass filter 11, in conjunction with a resistor 12 and capacitor 13 which comprises a high pass filter. In the preferred embodiment, the resistor and capacitor values are selected to yield a cutoff fre¬ quency of 300 cycles, and the low pass filter 11 is a Khronhite filter having a cutoff frequency of approxi¬ mately 5 KHz. The output of the bandpass filter 10 results in a filtered input signal as shown in Fig. 3A. The " filtered input signal is then coupled to infinite clipper 20, resulting in a CLIPPED-SPEECH signal as shown in Fig. 3B. The infinite clipper 20 of the preferred embodiment comprises integrated circuit chip LM311 well known in the art. (The numbers around the outside periphery of the chip indicate the pin number and the letters inside the chip indicate a function, e.g., CLR signifying clear.) The resulting output signal from infinite clipper 20, the CLIPPED- SPEECH signal, is coupled to a shift register 40. The shift register 40 of the preferred embodiment comprises two integrated circuit chips 74164. The shift register 40 performs the sampling and the serial to parallel transfer of a sampled CLIPPED-SPEECH signal, under the control of sample clock 30. When the shift register 40 is full, the contents of the shift register 40, a data word, is then shifted in parallel to the FIFO buffer 50 under control of sample clock 30. The number of stages of shift register 40 is selected to correspond to a data word size of digital computer 60. The digital computer 60 accepts the data word from the FIFO buffer 50 from the data output lines DO through D15, the transfer being controlled by a hand¬ shaking interface which comprises the READ signal from digital computer 60 and the SAMPLE READY OUT signal from FIFO buffer 50. In the preferred embodiment, the FIFO buffer 50 comprises four 3341 integrated circuit chips 51-54 and the control section 55 comprises integrated circuit chip 74161. Two NAND-gates 56, 57 combine control sig¬ nals from the four 3341 integrated circuit chips 51-54 to yield a SAMPLE ERROR signal and the SAMPLE READY OUT signal, these signals comprising part of the interface with the digital computer 60. In the preferred embodi¬ ment, the sample clock 30 comprises oscillator 31 and gate 32. The oscillator 31 utilized is a Wavetek 159 programmable signal generator which can be turned on under control of gate 32, gate 32 comprising a J-K flip- flop, integrated circuit chip 74109. It will be recog¬ nized by those skilled in the art that any oscillator may be substituted which has the function and charac¬ teristics utilized in the preferred embodiment. The clock input (C) of gate 32 is operatively connected to the output of infinite clipper 20 for detecting when the CLIPPED-SPEECH signal is present and is to be sampled. A reset or initialization signal, INIT, is provided for the speech recognition system 1. The digital computer 60 of the preferred embodiment is a Hewlett-Packard 2117F computer with 512k bytes of main memory. Storage 70 is provided by a 125M byte HP7925 disk drive. The computer operating system is Hewlett-Packard's Real Time Environment RTE IV B Software, and the data base architecture is supported by Hewlett-Packard's IMAGE 1000 Data Base Management System Software. It will be recognized by those skilled in the art that a variety of processors or digital computers may be utilized without departing from the scope of the invention. It will also be further recognized that the various elements of the speech recognition system 1 may be modified within the scope and spirit of the present ■ invention. Referring to Figs. 3B and 3C, it can be seen that the sampling of the CLIPPED-SPEECH signal results in a discrete value of +V or -V for each sample, which is subsequently translated to a logic 1 or a logic 0, respectively. Each sample is then represented by a single bit, the 16-bit words stored in storage 70 as shown in Fig. 3D thereby containing 16 sample values. It will be understood, that under previous digital techniques of speech recognition not utilizing clipped speech (clipped speech implies infinite clipped speech herein unless otherwise noted) each sample comprises a digital quantity, the digital quantity being made up of a number of bits. The number of bits may be a byte, computer word, etc. In the previous digital speech recognition systems mentioned above, if sixteen bits are required to yield the desired results, then it can be seen that a sixteen to one reduction of memory is obtained in the clipped speech system of the present invention. Hence, storage 70 has stored therein all the sampled clipped speech data read from FIFO buffer 50 by the digital computer 60. After the speech utterance is in storage 70 in the sampled clipped-speech format, the digital computer analyzes the stored data to yield the recognized speech, the digital computer processing to be discussed in detail hereinunder. The oscillator 31 frequency determines the sampling rate. The sampling rate of the system of the present invention should be sufficient to maintain zero crossing accuracy. A nominal sampling rate utilized by the system of the present invention is 24 KHz. It will be understood by those skilled in the art that the values, parameters, etc., contained herein are intended for illustrative purposes only to aid in the under¬ standing of the concept and implementation of the present invention and is not intended in any way to limit the scope of the present invention. Referring to Fig. 4, there is shown a block diagram of the learn process of the speech recognition system 1 of the present invention. The learn process refers to the building of the data base for the speech to be recognized. This data base is also referred to herein as the learned speech, vocabulary, and dictionary. The input speech is input to the system both verbally (i.e., via the INPUT SIGNAL discussed above) and also via an input device for identifying the verbal input (block 100). The INPUT SIGNAL is then filtered, clipped and sampled (block 110) and inputted to the digital computer 60. The digital computer calculates the linear predictive coding (LPC) parameters (block 120) and then stores the respective LPC parameters, distance measures, and identifying voice information. These stored quan¬ tities are stored in storage 70 consistent with data base management techniques well known in the art. If any more input speech or voicings are to be made (block 140), block 100 is repeated. If no more voicings are to be made, the process stops. Once the data base has been established, the speech recognition system 1 is ready to perform the recognition process. Referring to Fig. 5, there is shown a flowchart of the recognition process of the speech recognition system 1 of the present invention. The speech utterance to be recognized is inputted into the speech recognition system 1 (block 200). The INPUT SIGNAL is then filtered, clipped and sampled (block 210) and then inputted to the digital computer 60. The digital computer 60 then calculates the LPC parameters (block 220) and calculates the minimum distance (block 230). The distance measure calculated is then compared to the distance measure stored in the data base (block 240) and repeats the comparison process until the minimum distance measure is found (block 250). When the minimum distance measure is found, the computer outputs the identifying voice information stored in the data base with the associated parameters determined as the OUTPUT SIGNAL (block 260). If any further voice recog¬ nition is to be performed (block 270), the process repeats at block 200, otherwise the process halts. A linear prediction analysis of the sampled clipped-speech signal y(n) is made by digital computer 60 in accordance with P y(n) = ∑" a.y (n-k) (1) k≡l K where n = 1 to N, N being the number of samples within a window, and p is the number of poles of a prediction analysis model. The linear prediction analysis is Based on the all-pole linear prediction filter model well known in the art. The linear prediction coefficients a, , or more simply referred to herein as coefficients a^, are the coefficients of the sampled clipped-speech signal y(n) in accordance with the representation of equation (1) . In the preferred embodiment a 16-pole filter model is used. It is to be understood, that other pole arrange- ments may be used. The coefficients a. are the coefficients of the sampled speech signal y(n) in accordance with the representation of equation (1). For the 16-pole filter model used in the preferred embodiment, the coefficients a(l) through a(16) are generated by the digital computer 60 for each window of N samples by the short term auto¬ correlation analysis in accordance with Equation (2). Since the digital filter model is representative of the sampled clipped-speech for a time period of approximately 10-12 ms, it is desirable to update the coefficients OMPI a about every 10 ms. For a sample rate of 24 KHz, there are 256 samples (i.e., N=256) in a window time of 10.6 ms. The number of windows is dependent upon the length of time of the speech utterance T.. , namely T t- time of window. -R(i) = ^~ a ]ζ R(i-k), l<i<p (2) k= R(i) and R(i-k), Equation (3), are arrived at through windowing of sampled clipped-speech signal y(n) . R(i-k) = 1 a k y(n-k) y(n-i), (3) N k=l l_<i_<p n=l,2,3...N. As discussed above, the actual clipped speech sampled values +V (or normalized to +1) are replaced via the infinite clipper 20 with a corresponding binary value (binary 1 for +V and binary 0 for -V) . The LPC method utilizes the clipped speech sampled values of +V, the binary 1 or binary 0 being a sample value, as stored in storage 70 for the value of the signal y(n) . Equation (2) forms a set of "p" equations with "p" unknowns in the form. R(0) R(l) R(2)...R(p-l) R(l) R(0) R(l)...R(p-2) R(p-l) R(p-2) R(p-3)...R(0) The Levinson recursion method is used to solve the "p" linear equations. The -p x p autocorrelation matrix is symmetric with identical elements along the diagonals and is identified as a Toeplitz matrix. The ^ coef¬ ficients, resulting from the solution of Equation 2 for -11- each short time segment of sampled speech, are stored in a data base structure within storage 70. These stored a. parameters are then used as elements comparison templates during the recognition process. The processing by the digital computer 60 will now be described in conjunction with Fig. 6, which comprises Figs. 6A and 6B. The process described in Fig. 6 will be what is referred to as the learn mode, i.e., setting up the data bases to contain the vocabu- lary or dictionary for the speech utterances to be recognized. A second mode of the program, the recog¬ nition mode, is also included in the same program. It will be recognized by those skilled in the art that the programs may be separated. If a fixed data base vocab- ulary or learned speech is established and resides in storage 70, there is no need to perform the learn mode. Because of the common processing between the two modes, the programs for ea'ch mode are combined into a single program. Referring to Fig. 6, after the learn mode has been established the program sets the number of poles (block 300), initializes the autocorrelation window (block 310), and initializes all the working arrays contained within the program (block 320). At this point, an input of the text (voice identifying infor¬ mation) of the utterance to be stored in the data base is input by an input device (block 330). The input speech utterance (verbal input or voicing) is then inputted to the speech recognition system 1 (block 340) and goes through the filtering, clipping and sampling process described above. The binary information is then stored in storage 70. When the complete utterance has been stored in storage 70, the program begins the analysis. The program retrieves a clipped speech sample of one bit (block 350) and computes R(i) and R(0) for the current window of N speech samples (block 360) in accordance with Equations (4) and (5). ( 5 ) where, P is the number of poles, N is the number of samples in a window, and n is the individual sample instant. The program then solves for the coefficients a. using the Levinson recursion method in accordance with Equa¬ tion (6), and saves the coefficients a, in the data base (block 370). The program then calculates the gain G in accordance with Equation (7) and saves that information in the data base (block 380), and calculates the residu¬ als in accordance with Equation (8) and saves the results, in the data base (block 390). The program then calculates the measure (or distance measure) d in accordance with Equation (9), and saves that information in the data base (block 325). If all the speech windows have not been analyzed (block 335), the program shifts the autocorrelation window (block 345) and repeats the process starting at block 350. If all the speech windows have been analyzed and more speech is to be learned (block 355), the process repeats starting with block 340. If there is no more speech to learn, i.e., the data base vocabulary or dictionary of learned speech is completed, the program stops. Referring to Fig. 7 which comprises Figs. 7A, 7B, and 7C, the recognition mode will now be described. Once the digital computer 60 has been set up for the recognition mode, the process starts by initializing the program which comprises setting the number of poles p (block 400), initializing the autocorrelation window (block 410), and initializing all working arrays (block 420). The speech utterance is then inputted (block 430) and is filtered, clipped, sampled, and stored in storage 70. After all the information has been stored in stor¬ age 70, the digital computer 60 then proceeds with processing the speech utterance as stored in storage 70. The program retrieves a single clipped speech sample of one bit (block 440). The program computes R' (i) and R'(0) of N speech samples (block 450) in accordance with Equations (4) and (5). (The "prime" indicates the speech parameters to be recognized, or "unknown" speech parameters versus the parameters stored in the data base.) The program then calculates the gain G' in accordance with Equation (7) and solves for coefficients a'k (block 460) in accordance with Equation (6). The program calculates the residuals (block 470) in accord¬ ance with Equation (10) and then calculates the measure for the unknown speech input (block 480) in accordance with Equation (9). -14- = 2 Re* ) ( 10 ) V =i | If all the speech windows have not been analyzed (block 490), the program shifts to the next window (block 425) and repeats the processing starting with block 440. If all the speech windows have been analyzed, the program retrieves all the data base mem¬ bers which have a measure in accordance with Equation (11) less than a predetermined value, the predetermined value of the distance measure of the preferred embodi¬ ment being 200 (block 435). The data base item numbers ό. α: κ R'fi ) (ID for the words retrieved are saved (block 445), and each member retrieved is examined according to a distance measure specified by Equations (12) or (13) (block 446). The distance measure of the preferred embodiment utilized in block 446 is that specified by Equation (13). It will be recognized by those skilled in the art that many types of distance measures exist and may be employed herein without departing from the spirit and scope of the invention. The items are then sorted to find the item with the minimum distance (block 455). The item having the minimum distance can then be retrieved using the item pointer, the information contained in the retrieved item includes the voice identifying information thereby identifying the speech utterance from the previously- learned vocabulary (block 465). The program then out¬ puts the voice identifying information which constitutes the OUTPUT SIGNAL (block 475). If more speech is to be recognized (block 485), the program repeats the process starting at block 430. If no more recognition is to be performed, the program stops. Although the above description has been direc¬ ted to a speech recognition whereby the INPUT SIGNAL is representative of uttered speech, it will be recognized that the system may be capable of recognizing any analog input signal representative of some phenomenon, event, occurrence, material characteristic, information, quantity, parameter, etc. in which there may be defined an associated set of reference features capable of identification, consistent with the concepts described herein. While there has been shown what is considered to be the preferred embodiment of the invention, it will be manifest that many changes and modifications can be made therein without departing from the essential spirit and scope of the invention. It is intended, therefore, in the annexed claims, to cover all such changes and modifications which fall within the true scope of the invention.

Claims: CLAIMS : 1. A speech recognition system character¬ ized by means for clipping (10, 20) arranged to receive an analog input signal representative of a spoken utter¬ ance and to generate a clipped input signal, sampling means (30, 40) for sampling said clipped input signal, operatively connected to said means for clipping, to generate a plurality of discrete binary values, each discrete binary value representing a sample value of said clipped input signal, and means (60) for analyzing said plurality of sample values thereby identifying the spoken utterance. 2. A speech recognition system according to claim 1, characterized in that said means for clipping comprises filtering means (10) for filtering said analog input signal thereby removing undesired frequency com- ponents of said analog input signal so as to generate a filtered input signal, and a clipper (20), operatively connected to said filtering means (10), for generating said clipped input signal from said filtered input sig¬ nal. 3. A speech recognition system according to either claim 1 or claim 2, characterized in that said sampling means comprises shift register means (40) ar¬ ranged to hold discrete binary values representing sample values of said clipped input signal, and clock means (30) for determining the sample time of said clipped input signal and for controlling the shifting and outputting of the discrete binary values contained in said shift register means (40). 4. A speech recognition system according to claim 3, characterized in that said sampling means fur¬ ther comprises buffer means (50) for interfacing said shift register means (40)_with said means for analyzing (60). 5. A speech recognition system according to claim 2, characterized in that said filtering means com¬ prises a bandpass filter (10). 6. A method of recognizing speech character¬ ized by the steps of: a) clipping an analog input signal representative of a spoken utterance to generate a clipped input signal; b) sampling said clipped input signal to generate a plurality of discrete binary values, each discrete binary value representing a sample value of said clipped input signal; and c) analyzing said plurality of sample values thereby identifying the spoken utterance. 7. A method of recognition according to claim 6, characterized by the steps of: a) filtering the analog input signal prior to the clipping step, for removing undesired frequency components of said analog input signal to generate a filtered input signal, said filtered input signal being the input signal of the clipping step. 8. A method of recognition according to either claim 6 or claim 7, characterized in that the step of analyzing comprises the steps of: a) calculating the linear prediction coefficients a' of a sampled clipped input signal y(n) where where p is the number of poles of an all-pole linear prediction filter model; b) determining a distance measure; and c) identifying an item in a data base having the minimum distance as the spoken utterance. 9. A method of recognition according to claim 8, characterized in that the step of determining a distance measure is accomplished by evaluating the distance measured in accordance with κ= l

Inventors: AVERY JAMES MARTIN, HOYER ELMER AUGUST, AVERY, JAMES, MARTIN, HOYER, ELMER, AUGUST
Applicants: NCR CO, NCR CORPORATION
Application year: 1982
Main classification: G10L1
IPC codes: G10L11, G10L15, G10L19