Abstract:
A speech recognition system is realized by applying a speech signal to a feature extractor wherein a sequence of predetermined features representing the speech signal are determined, and by comparing the determined features, in an acceptor, to predetermined sequences of features which represent selected words. One attribute of the feature extractor is the ability to represent certain classes of sounds in terms of the position and direction of motion of the movable structures of a human vocal tract model, such as the position and direction of movement of the speaker&#39;s tongue body. The tongue body position is derived by determining the formant frequencies in the applied speech signal and by employing the Coker vocal tract model to find the tongue body position which best matches the determined formants.

Description:
BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     This relates to speech analysis systems and, more particularly, to systems for analyzing connected speech and for automatically recognizing its context. 
     2. Description of the Prior Art 
     Automatic speech recognition has long been a goal of speech researchers although, until the computer-age explosion, very little was done in the area. In the past few years considerable effort has been expended in this field, resulting in the realization of various systems which permit one, for the first time, to &#34;talk&#34; directly to a computer. 
     One major obstacle to progress in the field of automatic speech rcognition has been the great variation in speech characteristics between individuals; particularly between men, women, and children. To circumvent this obstacle, some researchers have chosen to develop systems tailored or adapted to a particular speaker, while others have chosen to develop &#34;universal speaker&#34; systems that are capable of responding to any speaker, but recognize, only a limited vocabulary. 
     One system in the latter class has been described by T. R. Martin in &#34;Acoustic Recognition of a Limited Vocabulary in Continuous Speech,&#34; University of Pennsylvania, Ph. D. Thesis, 1970. Martin describes a system which recognizes a limited vocabulary by abstracting particular features from the speech signal and by matching the derived sequence of features to a preselected set of feature sequences that represent the vocabulary sought to be recognized. The features selected by Martin for abstracting are characteristic of the elemental sounds in speech. He distinguishes three characterization levels of such features. The first level represents the broad class features, the second level subdivides the class features into less broad categories, and the third level -- which Martin does not employ in his speech recognition apparatus -- comprises the actual phonemes of the speech. 
     To abstract the features employed, Martin computes the area of spectrum rise and fall in the speech and the formants contained therein. To do so, he divides the speech spectrum into a plurality of contiguous bands and detects the energy contained in each band. The presence of various features is determined by logic circuitry which is made appropriately responsive to output signals of the various bands. 
     In the area of physiological study of speech, R. Houde has investigated tongue body motions during speech. In &#34;A Study of Tongue Body Motion During Selected Speech Sounds,&#34; University of Michigan, Ph. D. Thesis, 1967, Houde reported that the tongue body trajectories of different speakers pronoucing the same utterance, e.g., / i&#39;gugi /, are quite similar; in particular, with respect to the target position of the tongue movement. 
     Also in the area of physiological study of speech, C. H. Coker has developed a physical model of the vocal tract which is capable of being controllably altered to produce various signal formant sets characteristic of human speech. In particular, for each vocal tract length and tongue body position. Coker&#39;s model generates a set of formants which characterizes the sound that would be generated by a human speaker. This model has successfully been employed by Coker to synthesize speech, as is described in &#34;A Model of Articulatory Dynamics and Control,&#34; Processing of the IEEE, Vol. 64, No. 4, 1976. This model is also described in U.S. Pat. No. 3,530,248 issued to C. Coker on Sept. 22, 1970. 
     SUMMARY OF THE INVENTION 
     This invention recognizes connected speech by deriving from the signal of a spoken utterance a number of features, including a tongue body trajectory feature, and by deciphering therefrom the words that were uttered. In accordance with the principles of the invention, the speech signal is analyzed to develop a number of features similar to those of Martin, plus a feature (unlike any of Martin&#39;s features) which characterizes the speaker&#39;s tongue body position and movement. The derivation of the tongue body position is achieved by determinng the formant frequencies of the speech and by employing a human vocal tract model, such as the Coker vocal tract model, to find the tongue body position which best matches the computed formants. In the best mode embodiment described herein, Coker&#39;s modeI was used in reverse by precomputing the best fitting vocal tract shape for each set of three lowest formant frequencies and by obtaining therefrom the tongue body position of each such set. The length of the vocal tract is allowed to vary in this application of Coker&#39;s model so that the vocal tract length variations of different speakers, e.g., men, women, and children, are appropriately compensated. Once the speech features are obtained, the succession of features is compared to the feature sequences of selected words and, from the comparision, the spoken words are recognized. 
    
    
     BRIEF DESCRIPTION OF THE DRAWING 
     In the drawing: 
     FIG. 1 depicts a cross-sectional view of the mouth cavity, with an x-y coordinate system drawn therein; 
     FIG. 2 illustrates the tongue body trajectory of digits &#34;eight&#34;, &#34;two&#34;, &#34;one&#34;, and &#34;five&#34;, in accordance with the coordinate system of FIG. 1; 
     FIG. 3 depicts a subdivided x-y coordinate system used to map tongue body positions into regions characteristic of vowel like sounds; 
     FIG. 4 is a block diagram of one embodiment of this invention; 
     FIG. 5 shows the state diagram of acceptor 300 of FIG. 4 pertinent to the utterance &#34;two eight&#34;; 
     FIG. 6 illustrates the block diagram of the memory required in acceptor 300; and 
     FIG. 7 depicts a block diagram of apparatus for implementing the state diagram of FIG. 5. 
    
    
     DETAILED DESCRIPTION 
     FIG. 1 depicts a cross-sectional view of a mouth cavity with an x-y axis superimposed therein. The x-y axes of subsequent figures relate the x-y axis of FIG. 1. 
     A study of tongue body movements reveals that regardless of whether the speaker is a male, a female, or a child, the tonue body traverses reasonably the same trajectory when a particular digit between 0 and 9 is pronounced. FIG. 2 depicts such tongue body trajectories, wherefrom the following can be gleaned. The digit &#34;eight&#34;, curve 10, is charcterized by a tongue body moving in a generally forward and upward direction starting in the center of the upper forward quadrant of the mouth cavity. The digit &#34;two&#34;, curve 20, is characterized by the tongue body starting high in the center of the cavity, moving horizontally backward, and falling downward in the back of the mouth. The digit &#34;one&#34;, curve 30, is characterized by the tongue body moving essentially downward in the back of the mouth and then reversing direction and moving upwards. Finally, the digit &#34;five&#34;, curve 40, is characterized by the tongue body moving downward into the back lower quadrant of the mouth cavity and therein moving forward and upward toward the center of the mouth. 
     From the above trajectory descriptions it can be appreciated that the unique tongue body trajectories of various spoken digits, when added to other indicia of speech, can greatly enhance recognition of spoken digits. Therefore, in accordance with the speech recognition approach of this invention, the tongue body trajectory of a speaker is employed as a feature of the speech recognition system, together with a silence feature, a burst or a stop consonant feature, and a noise and noise-like fricative feature (one for voiced and one for unvoiced fricatives). 
     As for the tongue body trajectory feature, it has been found that in a system for recognizing digits the exact tongue body position and trajectory are not needed for proper characterization of the tongue body trajectory feature, or token. A token, in the context of this invention is the signal representing the feature. Rather, only the general region where the tongue body is situated and its general direction of movement need to be known. Accordingly, the tongue body trajectory token in the illustrative embodiment described herein only distinguishes certain regions of the mouth cavity. FIG. 3 depicts the various regions which were found to be useful in a system for detecting spoken digits, with each region indicating the likelihood that the vowels of a certain digit have been uttered. For example, a tongue body located in the region marked with an encircled 8 indicates that the initial vowel sound in the digit &#34;eight&#34; has, most likely, been spoken. 
     To develop the tongue body trajectory token, the position and direction of movement of the tongue body need to be ascertained. The direction of movement is obtained by comparing successive tongue body positions. The tongue body positions are obtained by extracting the formant frequencies of the analyzed speech and by transforming computed formant frequencies to tongue body positions with the aid of Coker&#39;s voice tract model. Since for each tongue body position Coker&#39;s model provides a set of expected formant frequencies, by applying the model in reverse, the tongue body position can be ascertained from each set of computed formants. The employment of Coker&#39;s model is more fully discussed infra in connection with the description of the apparatus used in the practice of this invention. 
     The Apparatus 
     A block diagram of apparatus for recognizing spoken digits in accordance with the principles of this invention is illustrated in FIG. 4. Therein, an incoming speech signal to be analyzed and recognized is applied to filter 210, which is a low-pass filter of standard design having a passband of 4 kHz. Responsive to filter 210 is sampler and A/D converter 220 which samples the applied signal, converts it to a digital format and submits the converted signal in time segments called frames to further processing. Converter 220 is controlled by element 200, the control element, which provides converter 220 with an appropriate sampling clock (e.g., 10 kHz) and with whatever other signals required by the particular A/D converter chosen. Any of a number of commercially available A/D converters can conveniently be used in block 210, e.g., Teledyne Philbrick, Incorporated, Model 4130. 
     Responsive to converter 220 is feature extractor 230 which includes a silence detector 240, a burst detector 250, a fricative detector 260 and a formant processor 270. The extended feature extractor contains feature extractor 230 and a transformation processor 280. 
     Silence detector 240, as the name implies, detects the presence of silence in the tested frame. Silence detector 240 may be implemented by rectifying and integrating the tested signal, much like a conventional receiver rectifies and integrates received signals, and by comparing the integrated signal to a fixed threshold. Alternatively a speech detector may be employed to determine the absence of speech, such as element 24 in U.S. No. 3,723,667 issued to Park et al. on Mar. 27. 1973. In accordance with this invention, when a silence is detected a Silence token is generated and applied to acceptor 300. It is a &#34;yes&#34; or &#34;no&#34; decision. The Silence token is a signal having a predetermined format which may, for example, be a 3-bit binary word having the value 1 2  (001). 
     A burst, which occurs between some phoneme to phoneme transitions, is characterized by a relatively abrupt increase in energy throughout the speech spectrum. Therefore, to detect a burst, the measure of energy rate of increase throughout the band is necessary. This is achieved in burst detector 250 by dividing the 4 kHz band into a plurality of contiguous sub-bands and by properly measuring the energy in the sub-bands. The energy is measured by rectifying and integrating the energy in each sub-band, by limiting the energy in each sub-band to a prechosen level and by summing and differentiating the limited energy outputs of the sub-bands. Because of the limiting process, a large increase in the energy of one sub-band cannot produce a large differentiated sum signal while an abrupt moderate increase throughout the 4 kHz band can develop a large differentiated sum signal. Thus, the differentiated sum signal can conveniently serve to indicate the rate of energy increase in the overall 4 kHz band. 
     Implementation of burst detector 250 is quite conventional since the processing operations therein are well known and straightforward. For example, detector 250 may contain a set of contiguous bandpass filters responsive to the speech signal, a rectifier, an integrator coupled to a threshold limiter connected to the output port of each of the bandpass filters, and an adder followed by a differentiator responsive to each of the threshold limiters. Applying the output signal of the differentiator to another threshold circuit results in a binary output which represents the presence or absence of a burst. Of course, when a burst is present, a Burst token is generated. 
     As with the Silence token, the Burst token is applied to acceptor 300. The Burst token may have the same format as the Silence token, i.e., a 3-bit binary word, while carrying a value different from that of the Silence token, e.g., 2 2  (010). Various designs of circuits useful in implementing detector 250 may be found in Millman and Taub, Pulse Digital and Switching Waveforms, McGraw-Hill 1965. 
     Fricative detector 260 generates a token whenever the analyzed frame contains a voiced noise-like consonant, e.g., / z, v / or an unvoiced noise-like consonant, e.g., / s, f, θ, t, k /. Unvoiced noise-like consonants are characterized by a high frequency concentration of noise-like energy, whereas voiced noise-like consonants are characterized by a strong energy component at low frequencies, e.g., about 500 kHz. T. R. Martin, in the aforementioned doctoral dissertation, discloses hardware for recognizing the presence of voiced and unvoiced noise-like consonants. This hardware may conveniently be used in the implementation of this invention. If so used, it must be modified, using conventional techniques, to provide an output signal having a multibit binary format much like the format of the Burst token. For example, the fricative token applied to acceptor 300 may have the values 3 2  (011) and 4 2  (100) when specifying a voiced fricative and an unvoiced fricative, respectively. As suggested herein, the Silence, Burst, and Fricative tokens each have a 3-bit format but the values are different. The 3-bit buses out of elements 240, 250, and 260 can therefore be combined into a single 3-bit bus. of course, other signal formants are also possible. 
     Formant processor 270 analyzes the frame signals and extracts therefrom formant frequencies. Formant frequencies are pronounced single frequency components in the speech spectrum which are present most distinctly when vowel sounds are pronounced. Although formant extraction is not an easy task, it is quite basic to the art of speech analysis and synthesis and is, therefore, well covered in the literature. Useful techniques and apparatus for implementing formant processor 270 are described, inter alia, in the following: 
     1. B. S. Atal and S. L. Hanauer, &#34;Speech Analysis and Synthesis by Linear Prediction of the Speech Wave,&#34;  JASA, Volume 50, pp 637-655, 1971; 
     2. U.S. Pat. No. 3,624,302 issued to B. S. Atal on Nov. 30, 1971: 
     3. S. S. McCandless, &#34;An algorithm for Automatic Formant Extraction Using Linear Prediction Spectra,&#34; IEEE Transactions on Acoustics Speech and Signal Processing, Volume ASSP 22 No. 2, pp 135-141, April 1974. 
     4. J. D. Markel, &#34;Digital Inverse Filtering--A New Tool for Formant Trajectory Estimation,&#34; IEEE Transactions Audio Electric Acoustics, Volume Au-2, pp. 129-137, 1971; 
     5. B. Gold and L. R. Rabiner, &#34;Parallel Processing Techniques for Estimating Pitch Periods of Speech in the Time Domain,&#34; JASA, Volume 46, 1969; 
     6. U.S. Pat. No. 3,649,765 issued to R. W. Shafer et al on Mar. 14, 1972; and 
     7. L. R. Rabiner et al, &#34;A Hardware Realization of a Digital Formant Synthesizer, IEEE Trans. Comm. Tech., Volume COM-19, pp. 1016-1020, November 1971. 
     Once the formant frequencies are obtained, e.g., by employing the hardware described by Rabiner et al in the above referenced article numbered 7, transformation processor 280 converts the obtained formant frequencies to tongue body positions, and from successive tongue body positions processor 280 develops the Tongue body trajectory tokens. Formant processor 270 delivers a signal to transformation processor 280 that is representative of the three lowest frequency formants found in the speech signal. Those three formants are preferably presented simultaneously, in parallel, comprising a single juxtaposed field. Thus, when each formant is defined by an 8-bit code or field, the juxtaposed output field of processor 270 is a 24-bit field. The output signal of processor 280 is a binary parallel field which represents the Tongue body position token; and more particularly, the moutn cavity region as defined in FIG. 3 and the direction of movement of the tongue body. 
     As indicated previously, the development of the tongue body position and trajectory is in accordance with Coker&#39;s vocal tract model. More particularly, Coker develops the formants resulting from each tongue body position. Here, Coker&#39;s model us used in reverse, to develop a tongue body position from a set of three lowest formant frequencies. 
     A simplified description of Coker&#39;s model and of the model&#39;s use to develop a tongue body position corresponding to a set of presented formants is found in &#34;speech Analysis by Articulatory Synthesis,&#34; E. H. Hafer Masters Dissertation, Northwestern University Computer Sciences Department, Evanston, Ill., June 1974. Pages 10-18 of the above dissertation and appendices 1-4 are particularly illuminating; the text explains the model and the method of deriving the appropriate formants from the model, and appendices 2-4 present the FORTRAN programs that may be employed in conjunction with a general purpose computer to develop the desired information. Since processor 280 may comprise a general purpose computer employing the programs disclosed in the above appendices, the above Hafer dissertation is hereby incorporated by reference and made a part of this disclosure. Also, since the incorporated programs are useful in specifying the manufacture of ROM look-up tables described below, the programs are supplied in an appendix to this disclosure for the convenience of those who shall practice this invention. 
     Briefly summarizing the model and its use, the vocal tract model is a parametric representation of a mid-sagittal plane of the human articulatory apparatus. Six parameters are used in the model to control the positioning of three articulators (tongue body, tongue tip, and lips). These articulators determine the cross-sectional area along the tract. The vocal tract area function is approximated by 36 uniformly spaced cross sections which are defined in planes perpendicular to the center line of the mouth cavity. As can be realized from a study of FIG. 1, the cross-sectional area of the mouth cavity varies with the position of the tongue body. Therefore, by determining the cavity&#39;s cross-sectional area from formant frequencies, the tongue body position can be determined. 
     In situations where a general purpose computer is the preferred embodiment for processor 280, the aforeincorporated programs may be employed to determine the tongue body position of a speaker. The programs operate in an interactive manner. First, the tongue body is assumed to be at a preselected state, and a set of formants characteristic of that state is derived. The state assumed is the last known position of the tongue body. From the assumed state of the tongue body the derived set of formants is compared to the applied formants (developed in processor 270), and an error function is evaluated to determine the difference between the derived formants and the speaker&#39;s formants. That error function dictates the changes that need to be made in the state of the vocal tract model in order to reduce the value of the error function. The model is changed, the formants are computed and the error function is again evaluated. Once the error is determined to be sufficiently small, the shape of the vocal tract model is analyzed to give what has been shown to be a reasonable approximation of the tongue body position for most vowels. 
     In situations where a general purpose computer may not be the preferred approach to implementing transformation processor 280, a different implementation may be had for purposes of this invention by precomputing, per the incorporated programs, the formant sets developed by Coker&#39;s model for all tongue body positions and vocal tract lengths of interest and by storing the evaluated formants in a look-up table. A read-only energy may be employed as the look-up table, and arranged to have the address field indicate the tongue body position and tract length employed by the model and the content of each memory location indicate the formants generated by the model in response to a model&#39;s state as characterized by the address field. Use of such a look-up table is iterative because the formants associated with selected tongue body positions and tract lengths would have to be compared to the formants derived by processor 270. 
     Preferably, an ROM look-up table is constructed with the formants comprising the independent variable rather than the dependent variable. That is, the three formants derived by the model are juxtaposed to form a single field and that field serves as an address field to a memory in which the locations contain the tongue body positions and tract lengths which correspond to the formants comprising the associated addresses. With such a look-up table, iterative operation is not necessary. 
     The output signal of transformation processor 280 is a Tongue body trajectory token which includes the tongue body position and a measure of the tongue&#39;s movement. The position information is obtained, as described, from the look-up table. The movement indication is derived by comparing the obtained position to the previous position. This can be done by storing the previous x and y coordinate positions and by subtracting same from the newly determined x and y coordinate positions. Since only 10 regions need to be discriminated to obtain a sufficient position indication (per FIG. 3), the format of the Tongue body token may be an 8-bit binary word, with the first four bits indicating tongue position, the next two bits indicating movement in the x direction, and the last two bits indicating movement in the y direction. 
     Summarizing the preferred embodiment of processor 280 as described herein, Coker&#39;s model, in reverse, is employed to develop a table of tongue body positions which best correspond to each set of three lowest formants. The table is most easily developed by using the program supplied herein since the principles of Coker&#39;s model are imbedded in that program. However, the use of this program is not mandatory; and also, instead of a memory look-up table, means can be provided to evaluate Coker&#39;s model in reverse. In the embodiment described herein, a table is used because it is the simplest implementation, and that table is permanently stored in an ROM. The ROM is addressed by the single field which is composed of the three juxtaposed fields defining the three lowest frequency formants. The output signal of processor 280 is an 8-bit field, with the first four bits indicating tongue position, the next two bits indicating horizontal tongue body movement and the last two bits indicating vertical tongue body movement. 
     The output signal of processor 280, like the output signals of elements 240, 250, and 260 is applied to acceptor 300. 
     If it were certain that signals corresponding only to valid digits would be applied to the word recognition system of this invention, then acceptor 300 would not have to be a very complex machine. Acceptor 300 would have an initial state from which it would branch to one of the sequences of tokens representing the digit being spoken and when the detection of the digit is completed, i.e., the full sequence of tokens is detected, acceptor 300 would re-enter the initial state, ready to decode the next digit. Unfortunately, acceptor 300 must be able to accept words, utterances, and sounds other than valid digits without being disabled or &#34;stuck&#34;. Accordingly, acceptor 300 must be able to assume that any token is the start of a valid digit sequence and must be able to backtrack to a new sequence start whenever it gets &#34;stuck&#34;. The requirement for backtracking may be better understood from the following example where the token sequences 6, 3, 5, 7, 6 and 3, 5, 7, 9 are valid sequences and where the token sequence 6, 3, 5, 7, 9 is encountered. When acceptor 300 proceeds through tokens 6, 3, 5, and 7 in the encountered sequence, it assumes that the sequence 6, 3, 5, 7, 6 is being detected and it therefore follows in that path. When the token 9 is reached, acceptor 300 must be able to determine that the sequence 6, 3, 5, 7, 9 is not a valid sequence and that it must, therefore, backtrack to a new sequence start. By so backtracking from token 9 to token 3, (deleting the first token-6) the sequence 3, 5, 7, 9 is properly detected by acceptor 300 as being a valid sequence. 
     To perform the operations required, acceptor 300 is constructed as a finite state sequential machine which starts at an initial state and proceeds through various state transitions to one of 10 successful conclusions (detecting each of the 10 digits). Such sequential machines, which are sometimes called sequence detectors, are quite common. Design of such machines, to realize prescribed state diagrams, is described, for example, in Switching Theory by P. E. Wood, Jr., McGraw-Hill Book Co., 1968, Chapter 5; and in the speech area, such a sequential machine is described by Martin in his aforementioned doctoral dissertation and also described, among others, in U.S. Pat. No. 3,700,815, issued to Rowland et al on Oct. 24, 1972. Any deviation from an acceptable path leads back to the initial state. This is illustrated, for purposes of this disclosure, by the state diagram of FIG. 5 which describes the state transitions necessary for detecting the utterance &#34;two eight.&#34; The complete state diagram of acceptor 300 depends, of course, on the exact list of words sought to be detected (digits 0-9, connecting words such as &#34; hundred&#34;, etc.). The state diagram of FIG. 5 and the hardware for implementing it, shown in FIG. 7, are considered representative. 
     State 1 of acceptor 300, which is depicted in FIG. 5 as a numeral 1 within a circle, is the initial state of acceptor 300. It is the state into which acceptor 300 enters whenever a test is completed successfully or unsuccessfully. Acceptor 300 remains in state 1 until a token is received which corresponds to the beginning of any of the recognizable words, e.g., digits. The ray designated A in FIG. 5 represents the exit paths from state 1 in the direction of digits other than &#34;two&#34; and &#34;eight&#34;. 
     When the digit &#34;two&#34; is uttered, the /t/ sound of &#34;two&#34; results in a Burst token causing acceptor 300 to advance to state 2. This is indicated in FIG. 5 by the ray marked B (for Burst) extending from state 1 to state 2. Acceptor 300 stays in state 2 as long as a Burst token is applied but exits state 2 through the ray marked * whenever a token is applied which is not consonant with the continuation of the utterance &#34;two&#34;. An exit marked by * designates a return to state 1 in a backtracking mode of operation. When the digit &#34;two&#34; is, in fact, uttered, a vowel segment follows the burst of /t/. The initial portion of the vowel segment yields a tongue body positioned in the second partition of FIG. 3. Therefore, in response to a token indicating a partition 2 tongue body position (p=2), acceptor 300 advances to state 3 as depicted in FIG. 5. Acceptor 300 remains in state 3 until the body enters partition 6 and begins to move in the positive x direction. When this happens, the digit 2 is recognized, as indicated in FIG. 5 by the ray marked D=2, and the acceptor resets to state 1 in preparation for the next digit. 
     As indicated above, the second portion of the utterance &#34;two&#34; contains a vowel segment which produces a tongue body located in partition 6 and traveling in the positive x direction. Since there is no digit whose beginning segment places the tongue body in partition 6, acceptor 300 remains in its initial state during the end-portion of the &#34;two&#34; utterance, until the beginning of the &#34;eight&#34; utterance. 
     The utterance &#34;eight&#34; begins with a vowel segment in partition 8. Hence, when the tongue body moves into partition 8, acceptor 300 exits state 1 and enters state 4. Continuing in the positive x and y directions, the tongue body moves upward into partition 3, at which time acceptor 300 advances to state 5 where it remains until the final Burst token of the utterance &#34;eight&#34; arrives, at which time, the digit &#34;eight&#34; is recognized and the acceptor resets to state 1, ready for the next digit. 
     In implementing acceptor 300, two major elements need to be considered: means for providing the backtracking capability and means for implementing the acceptor&#39;s state diagram. 
     For the backtracking capability, a memory is required to store the token sequences applied to acceptor 300. This memory must be arranged so that old data can be retrieved and reprocessed while new data is inserted. Such an arrangement is realized by storing the applied tokens in a conventional memory under control of a token address counter that is operating in modulo arithmetic equal to, or smaller than, the size of the memory (for example, with a 10 digit address counter, at least a 1024 word memory is employed). With such an arrangement, applied tokens are inserted sequentially into the memory as dictated by the token address counter and when, for example, location 1023 of the memory is filled (if a 10-bit counter is used), the next memory location to be filled (erasing the old information therein) is memory location 0. 
     Two more counters, operating in the same modulo as the token address counter, are included for proper utilization of the memory: a sequence start counter (counter A) and a current address counter (counter B). Counter A indicates the location of the first token in the tested sequence and counter B indicates the current address of the token in the sequence that is being tested. A block diagram of this arrangement is illustrated in FIG. 6. 
     In FIG. 6, memory 301 stores the tokens applied to acceptor 300 on lead 302 and delivers the prestored tokens required by acceptor 300 on lead 317. The writing and reading of memory 301 is made in response to read and write control commands provided by control element 200 (FIG. 1) on leads 303 and 304. The proper address is provided to memory 301 by selection block 305 which, in turn, is responsive to counter 306 (token address counter) and to counter 307 (counter B). Counter 308 (counter A) interacts with counter 307 via bus line 309 and this interaction is maintained under control leads 310, 311, 312, and 313. A signal on control lead 310 advances counter 308 by one, the signal on control lead 311 duplicates the value of counter 307 in counter 308, a signal on control lead 312 advances counter 307 by one, and a signal on control lead 313 duplicates the value of counter 308 in counter 307. Lead 314 controls counter 306, advancing it every time a new token is applied. 
     In operation, when a sequence test is started, both counter A and counter B address the same location, causing the first token of the tested sequence to be extracted from memory 301. As long as the test proceeds satisfactorily, counter 307 is advanced one at a time while counter 308 remains unchanged. When the test terminates successfully at the end of a sequence, counter 308 is advanced to the position of counter 307 and a new test is initiated. When the test terminates unsuccessfully (with an * entry to state 1), counter 308 is advanced by one and counter 307 is set equal to counter 308, again initiating a new test. 
     To implement the state diagram of acceptor 300, conventional techniques may be employed. For sake of completeness, however, FIG. 7 illustrates one embodiment for implementing the operative portion of the state diagram depicted in FIG. 5. 
     Since only five states are present in FIG. 5, FIG. 7 depicts five state-representing flip-flops (701-705). Each flip-flop is connected to an associated logic block (711-715), and logic blocks 711-715 are all responsive to signal bus 317 emanating from memory 301 (FIG. 6). 
     Each of the logic blocks 711-715 generates a different combinatorial output which is particularly designed to implement a portion of the state diagram. For example, logic block 711 develops the output signals necessary to move acceptor 300 out of state 1 and into states 2, 4 or A. Accordingly, block 711 has three outputs: a signal which directs entry to state A (lead 721), a signal directing entry into state 4 (lead 722) and a signal which directs entry into state 2 (lead 723). In accordance with FIG. 5, entry into state 4 is to occur only when p=8 occurs. Therefore, the boolean expression for the output on lead 722 is (state 1) (p=8). The first variable, (state 1), derives from flip-flop 701, and the second variable, p=8, derives from a decoding of the information on bus 317. Thus, a two input AND gate is used to generate the output signal of lead 722. The output signals of elements 711-715 are derived in an analogous manner. 
     As indicated previously, whenever an * exit is indicated by the state diagram of FIG. 5, acceptor 300 must re-enter state 1 and must particularly modify counters 307 and 308. For this purpose, OR gate 731 collects all the * exits and combines them to form an output signal on lead 732 which controls counter 307 and 308. The D exits also require a re-entry of state 1 but with a different modification of counters 307 and 308 (as described above). To this end, OR gate 733 is employed to generate an output signal on lead 734. The * and D output control signals are combined in OR gate 735 which controls entry into state 1. 
     Entry into any particular state must, of course, be accompanied by exit from all other states. Therefore, when any of flip-flops 701-705 is set, all other flip-flops must be reset. This is accomplished in FIG. 7 with the aid of logic blocks 741-745 and with OR gate 746. OR gate 746 develops a signal whenever any state transition occurs, and that signal is applied to the R inputs of logic blocks 741-745. Each one of logic blocks 741-745 is arranged to provide an output signal on the Q terminal when a signal is applied to the R input, and an output signal on the Q terminal when a signal is applied to both the R and S inputs. In this manner, blocks 741-745 combine with gate 746 to reset all flip-flops except for the flip-flop that is being set. 
     Control of the system of FIG. 4 is exercised by control element 200. It provides the sampling clock to A/D converter 220, the read and write control signals (leads 303 and 304) to memory 301, the set and advance commands (leads 310-314) to counters 306, 307 and 308, and all other control signals needed for the proper operation of feature extractor 230. Element 200 may be of conventional construction comprising an astable multivibrator for developing a basic clock signal, flip-flops interconnected to the multivibrator for developing sub-multiples of the basic clock signal and various gates interconnected to form the appropriate combinatorial logic for each required control signal. Being that the necessary circuitry is quite straightforward, the details of the logic gate interconnections are left to the choice of those who shall practice this invention. 
     It should be noted, of course, that although the vocal tract model of Coker has been employed in describing the principles of this invention, any other human vocal tract model may be employed as long as a good correlation is shown to exist between the position and movement of the articulatory parameters and the developed sounds. ##SPC1## ##SPC2##