Method and apparatus for speech recognition

Power information from an input signal is used to detect the presence of speech. A reference point is established as the moment of detection of the speech. During a period between the reference point and a subsequent point distant from the reference point by a predetermined range, the input signal is linearly changed to a corresponding signal having a predetermined period. Feature parameters are extracted from the signal with the predetermined period. The feature parameters are replaced by preset noise parameters in a portion having no speech component therein. Standard speech patterns of particular preset words are determined and similarities between the extracted feature parameters containing the noise parameters and the standard patterns are calculated and mutually compared. The foregoing steps are performed while the separations are varied within the predetermined range. Similar steps are performed as the reference point is shifted by a unit period, and similarities are calculated and mutually compared. Speech duration is detected by use of movement of the power information. A process end time is determined by use of the speech duration time and a time dependent variation in the similarities. The selected preset word corresponds to a maximum of the similarities obtained when the reference point reaches the process end time. The selected word is then outputted as the recognition result.

BACKGROUND OF THE INVENTION 
This invention relates to a method and an apparatus for speech recognition. 
Some speech recognition systems require voices of a user to be 
preregistered. The preregistered voices are used as references in 
recognizing the contents of speech of the user. 
Advanced speech recognition systems dispense with such voice 
preregistration and are usable by unspecified persons. The advanced 
systems include a word dictionary which holds standard voices in the form 
of parameters. During a speech recognition process, the patterns of input 
voices are compared with the pattern of standard voices. 
"Simple Speech Recognition Method for Unspecified Speakers" by Niyada et 
al., in Meeting of the Acoustical Society of Japan, pp 7-8 (March 1986), 
discloses one example of such an advanced speech recognition system. 
SUMMARY OF THE INVENTION 
It is an object of this invention to provide accurate method and apparatus 
for speech recognition. 
In this invention, presence of speech is detected from an input signal by 
use of power information. A moment of the detection of the speech is set 
as a reference point. The input signal during a period between the 
reference point and a subsequent point distant from the reference point by 
N (N1.ltoreq.N.ltoreq.N2) is linearly changed to a corresponding signal 
having a period L. Feature parameters are extracted from the signal having 
the period L. The feature parameters are replaced by preset noise 
parameters in a portion of the signal having no speech component. Standard 
patterns of speeches of respective preset words are predetermined. 
Similarities between the extracted feature parameters containing the noise 
parameters and the standard patterns are calculated and mutually compared. 
The previously-mentioned steps are performed while N is varied from N1 to 
N2. Similar steps are performed as the reference point is shifted by a 
unit period, and similarities are calculated and mutually compared. A 
duration of a speech is detected by use of movement of the power 
information. A process end time is determined by use of the speech 
duration time and a time-dependent variation in the similarities. One of 
the words is selected which corresponds to a maximum of the similarities 
obtained when the reference point reaches the process end time. The 
selected word is outputted as recognition result.

THEORETICAL BACKGROUND 
In cases where the speech length of an input word is linearly expanded or 
compressed to J frames and a parameter vector for one frame is expressed 
by x j, the input vector X is given as: 
EQU X=(x 1, x 2, . . . , x L) 
where each vector x j has dimensions p. 
When standard patterns of preset words .omega.k (k=1,2, . . . ,K) are 
defined by average value vectors y k and covariance matrixes W k, the 
recognition result is given by one of the preset words which maximizes a 
posteriori probability P(.omega.k.vertline.X). 
Bayes' theorem induces the following equation. 
EQU (.omega.k.vertline.X)=P(.omega.k).multidot.P(X.vertline..omega.k)/P(X) (1) 
where the value P(.omega.k) is regarded as a constant. When a normal 
distribution is assumed, the following equation is given. 
EQU P(X.vertline..omega.k)=(2.pi.).sup.-d/2 .vertline.W k.vertline..sup.-1/2 
.multidot.exp{-1/2(X-y k).multidot.W k.sup.-1 .multidot.(X-y k)}(2) 
It is assumed that the value P(X) follows a normal distribution of the 
average value vectors y k and the covariance matrixes W k. Thus, the value 
P(X) is given as: 
EQU P(X)=(2.pi.).sup.-d/2 .vertline.W x.vertline..sup.-1/2 
.multidot.exp{-1/2(X-y x).multidot.W x.sup.-1 .multidot.(X-y x)}(3) 
The logarithm of the equation (1) is denoted by L k and the constant terms 
are omitted, where: 
EQU L k=(X-y k).multidot.W k.sup.-1 .multidot.(X-y k)-(X-y x).multidot.W 
x.sup.-1 .multidot.(x-y x)+log.vertline.W k.vertline.W x.vertline.(4) 
It is assumed that the matrixes W k and W x are in common and they are 
given by the same matrix W, where: 
EQU W=(W 1+W 2+ . . . +W k+W x)/(K+1) (5) 
When the equation (4) is developed, the following equation is obtained. 
EQU Lk=Bk-A k.multidot.X (6) 
where: 
EQU A k=2(W.sup.-1 .multidot.y k-W.sup.-1 .multidot.y x) (7) 
EQU Bk=y k.multidot.W.sup.-1 .multidot.y k-y x.multidot.W.sup.-1 .multidot.y z 
(8) 
When A k=(a 1.sup.(k), a 2.sup.(k), . . . a J.sup.(k)), the equation (6) is 
transformed into the following equation. 
##EQU1## 
where the character Bk denotes a bias constant and the character 
dj.sup.(k) denotes the partial similarity for the frame k. 
The calculation of the final similarity Lk is simplified as described 
hereinafter. 
As shown in FIG. 1, in the case of collation between an input and a word k, 
a partial period length n (ns.sup.(k) &lt;n&lt;ne.sup.(k)) is linearly expanded 
and compressed (extended and contracted) to a standard pattern length J, 
and similarities are calculated at fixed ends for respective frames. A 
similarity Lk is calculated along a route from a point T in a line QR to a 
point P by referring to the equation (9). 
Accordingly, the calculation of the similarities for one frame is performed 
within a range .DELTA.PQR. Since the values x j in the equation (9) mean 
j-th frame components after the expansion and compression of a period 
length n, a corresponding input frame i' is present. Thus, partial 
similarities dj.sup.(k) are expressed by use of an input vector and are 
specifically given as: 
EQU d.sup.(k) (i',j)=a j.sup.(k) .multidot.x i (10) 
EQU i'=i-rn(j)+1 (11) 
where the character rn(j) represents a function between the lengths n and 
j. Accordingly, provided that partial similarities between respective 
frames of an input and standard patterns a j.sup.(k) are predetermined, 
the equation (9) can be easily calculated by selecting and adding the 
partial similarities having portions related to the frame i'. In view of 
the fact that the range .DELTA.PQR moves rightwards every frame, partial 
similarities between the vectors a j.sup.(k) and x i are calculated on the 
line PS, and their components corresponding to the range .DELTA.PQS are 
stored in a memory and are shifted every frame. In this case, necessary 
similarities are all present in the memory, repetitive processes in 
similarity calculation are prevented. 
DESCRIPTION OF THE PREFERRED EMBODIMENT 
With reference to FIG. 2, a speech recognition apparatus according to the 
preferred embodiment of this invention includes an analog-to-digital (A/D) 
converter 110 which changes an input analog speech signal to a 
corresponding digital speech signal having 12 bits. In the A/D converter 
110, the input analog speech signal is sampled at a frequency of 8 KHz. 
The digital speech signal is outputted from the A/D converter 110 to a 
speech analyzer 111 and a power calculator 123. In the speech analyzer 
111, the digital speech signal is subjected to LPC analyzation every 10 
msec (one frame) so that 10-th order linear prediction coefficients and 
residual powers are derived. A feature parameter extractor 112 calculates 
LPC cepstrum coefficients c1-c9 and a power term c0 from the linear 
prediction coefficients and the residual powers. The calculated LPC 
cepstrum coefficients and power term constitute feature parameters. 
Accordingly, a feature vector x for a frame is given as: 
EQU x.sup.t =(c0, c1, . . . , c9) (12) 
LPC analyzation and ways of extracting LPC cepstrum coefficients are 
disclosed in various books such as "Linear Prediction of Speech" written 
by J. D. Markel and A. H. Gray, Jr., published from Springer-Verlag Berlin 
Heidelberg in 1976. 
A frame sync signal generator 113 outputs timing signals (frame signals) at 
intervals of 10 msec. A speech recognition process is performed 
synchronously with the frame signals. The frame signals are applied to the 
speech analyzer 111 and the feature parameter extractor 112. The sync 
signal generator 113 also outputs a timing signal to a standard pattern 
selector 116. 
A standard pattern storage 115 holds standard patterns of words identified 
by numbers k=1,2, . . . , K. The standard pattern selector 116 outputs a 
signal to the standard pattern storage 115 in synchronism with the timing 
signal. During a one-frame interval, the output signal from the standard 
pattern selector 116 represents sequentially the word numbers k=1,2. . . , 
K so that the standard patterns corresponding to the word numbers k=1,2, . 
. . , K are sequentially selected and transferred from the standard 
pattern storage 115 to a partial similarity calculator 114. The partial 
similarity calculator 114 determines a partial similarity d.sup.(k) (i,j) 
between a selected standard pattern a j.sup.(k) and a feature vector x i 
by referring to the following equation. 
##EQU2## 
The calculated partial similarity is transferred to and stored in a 
similarity buffer 119. The similarity buffer 119 holds a set of successive 
partial similarities. Each time the newest partial similarity is 
transferred to the similarity buffer 119, the oldest partial similarity is 
erased from the similarity buffer 119. 
As shown in FIG. 2, the word number signal outputted from the standard 
pattern selector 116 is also applied to a proposed period setting section 
117. The proposed period setting section 117 sets a minimal length 
ns.sup.(k) and a maximal length ne.sup.(k) of a word designated by the 
word number signal. The minimal length and the maximal length of the word 
are fed to a memory 118 holding the relationships of the equation (11) in 
a table form. When a word length n (ns.sup.(k) 
.ltoreq.n.ltoreq.ne.sup.(k)) and a frame j are designated, the 
corresponding value i' is derived and is outputted from the memory 118 to 
the similarity buffer 119. The values i' are read out from the memory 118 
for respective word lengths n in the range of ns.sup.(k) 
.ltoreq.n.ltoreq.ne.sup.(k), and the similarities d.sup.(k) (i',j), j=1,2, 
. . . ,JL corresponding to the values i' are transferred from the 
similarity buffer 119 to a similarity adder 120. 
The similarity adder 120 derives a final similarity or likelihood Lk from 
the partial similarities d.sup.(k) (i',j) and a constant Bk by referring 
to the equation (9). The derived final similarity Lk is outputted to a 
similarity comparator 121. 
The similarity comparator 121 selects the greater of the input similarity 
and a similarity fed from a temporary memory 122. The selected greater 
similarity is stored into the temporary memory 122 so that the similarity 
held by the memory 122 is updated. 
During a start, a first frame i=i0 is processed. Specifically, the greatest 
similarity maxL1.sup.i0 is determined in the range of ns.sup.(1) 
.ltoreq.n.ltoreq.ne.sup.(1) with respect to a standard pattern k=1. Then, 
the greatest similarity maxL2.sup.i0 is determined in the range of 
ns.sup.(2) .ltoreq.n.ltoreq.ne.sup.(2) with respect to a standard pattern 
k=2. The similarity maxL2.sup.i0 is compared with the similarity 
maxL1.sup.i0, and the greater of the compared similarities is selected. 
Similar processes are repeated for the respective standard patterns k=3, . 
. . , K. As a result, the actually greatest similarity maxLk'.sup.i0 is 
determined. The greatest similarity maxLk'.sup.i0 and the corresponding 
word number k' are stored into the temporary memory 122. 
During a stage following the start, subsequent frames i=i0+.DELTA.i are 
processed in a way similar to the way of processing the first frame. After 
a final frame i=I is processed, the word number k=km held in the temporary 
memory 122 represents the result of speech recognition. 
As shown in FIG. 3, the scanning start frame I0 occurs simultaneously with 
a start of a speech, and the recognition completion frame I occurs after 
an end of the speech. 
In this embodiment, a start of a scanning period is derived from power 
information while an end of the scanning period is derived from power 
information and similarity information. In addition, control of speech 
periods uses power information. 
Returning to FIG. 2, the power calculator 123 derives powers (logarithmic 
values) for respective frames of the digital speech signal. The calculated 
powers are outputted to a power comparator 125. The power comparator 125 
compares the powers with a variable threshold level which has a given 
relationship with a mean noise level supplied from a noise level learning 
section 124. The functions of the power comparator 125 and the noise level 
learning section 124 will be described in detail hereinafter. 
FIG. 4 shows an example of time-dependent variations in power (logarithmic 
value) and other parameters. In this example, the power level has three 
peaks a, b, and c. It is assumed that the peak a is caused by noise and is 
thus unwanted. In FIG. 4, the dash line denotes a mean noise level (PN) 
and the dot-dash line denotes a threshold level (P.theta.) which remains 
greater than the mean noise level PN by a constant value .theta.N. The 
mean noise level PN is given as: 
##EQU3## 
where the character Pm represents the power of a m-th frame which is equal 
to or smaller than the threshold level. Thus, the mean noise level PN 
equals a mean value of powers of frames which are equal to or smaller than 
the threshold level. As shown in FIG. 4, the waveform of the mean noise 
level PN is approximately equal to a waveform obtained by smoothing the 
levels of the poweres. The mean noise level PN and the threshold level 
P.theta. have the following relationship. 
EQU P.theta.=PN+.theta.N (15) 
Speech detection performed by the combination of the power comparator 125 
and the noise level learning section 124 will be described hereinafter 
with reference to FIG. 4. The power of a start of a signal is set to an 
initial noise level. While the mean noise level PN is calculated by the 
equation (14), the power level P is compared with the threshold level 
P.theta.. Since the first power peak a is smaller than the threshold level 
P.theta., it is not detected as speech. When the power level P rises to 
and above the threshold level P.theta. at a point d in a leading slope of 
the second power peak b, the calculation by the equation (14) is 
interrupted. The calculation by the equation (14) remains interrupted and 
the values PN and P.theta. are held constant until the power level P drops 
to the threshold level P.theta. at a point e in a trailing slope of the 
second power peak b. This period corresponds to the interval B between the 
points d and e. At the point e, the calculation by the equation (14) is 
restarted. During the interval C between the point e and a subsequent 
point f, the power level P remains equal to or smaller than the threshold 
level P.theta., the calculation by the equation (14) continues. During the 
interval D between the point f and a subsequent point g in the third power 
peak c, the power level P remains greater than the threshold level 
P.theta. so that the values PN and P.theta. are held constant. The 
intervals B and D where the power level P remains greater than the 
threshold level P.theta. are judged as periods where speech is present. 
The power comparator 125 determines a second threshold level PK in 
accordance with the mean noise level PN by referring to the following 
equation. 
EQU PK=PN+.theta.K (16) 
where the character .theta.K denotes a constant smaller than the constant 
.theta.N. Accordingly, as shown in FIG. 4, the second threshold level PK 
remains smaller than the first threshold level P.theta.. The power 
comparator 125 compares the power level P with the second threshold level 
PK. When the power level P is equal to or smaller than the second 
threshold level PK, the related frame is regarded as being not part of 
speech. When the power level P is greater than the second threshold level 
PK, the related frame is regarded as being part of speech. 
During a frame where the power level P is equal to or smaller than the 
second threshold level PK, the power comparator 125 outputs a signal to 
the noise parameter memory 129 so that noise parameters x n.sup.t =(no,n1, 
. . . ,n9) are transferred from the memory 129 to the partial similarity 
calculator 114. During this frame, the partial similarity calculator 114 
uses the noise parameters x n.sup.t for the feature parameters x.sup.t in 
determining the similarities. 
The noise parameters x n.sup.t are chosen so as to decrease the partial 
similarities with the standard patterns. This design choice allows the 
prevention of wrong speech recognition such that the maximal similarity is 
derived during a speech period containing a noise interval.