Patent GB-1533337-A (GB)
Title: Speech analysis and synthesis system
IPC: G10L25/93
Filed: 1976-06-21
Abstract: 1533337 Speech analysis INTERNATIONAL COMMUNICATION SCIENCES 21 June 1976 [7 July 1975] 25609/76 Heading H4R In a speech analysis apparatus the electrical speech signal is analysed by Cepstrum techniques, e.g. spectrum analysing the logarithm of the amplitude spectrum of the speech, to generate a pitch period parameter, the speech signal is analysed to generate a voiced/unvoiced decision parameter, the speech signal is analysed by a linear prediction technique to generate a number of coefficient parameters and a power parameter, and the parameters are combined to provide a composite signal representative of the speech signal. As described the analyser, Fig. 3a, operates on the signals from four speech channels, substantially in parallel manner, which are sampled and digitized before feeding through a digital low pass filter 208 in a pitch determining part of the apparatus. After filtering the signals are normalized to the range 0À5, by 212, as described with respect to Fig. 4 (not shown), and applied to a fast Fourier transform window 216, the output of which feeds the Cepstrum generator 220, Fig. 7 (not shown). The Cepstrum signal is fed to a weighting circuit 224, Figs. 5 and 6 (not shown), in which the Cepstrum frame is added to a locally generated continuously increasing signal, which tends to make the peaks easier to determine, before feeding a pitch detector 228, which detects the position of the Cepstrum signal peak. The pitch detector 228 operates only on alternate samples of the Cepstrum signal and in order to increase the accuracy of the pitch signal output a parabolic interpolation of the pitch period is produced, at 232 and Fig. 12 (not shown), by performing a calculation on the value 'a' of the Cepstrum signal maximum sample and the immediately adjacent samples 'b' and 'c' and adding to the pitch period corresponding to the maximum sample the factor In addition the Cepstrum waveform is examined at a position corresponding to half the period corresponding to the peak, and if that Cepstrum value is above half the peak this is taken as being the true pitch, the main peak being a double pitch value due to rapid pitch changes, Fig. 13 (not shown). The output from the Cepstrum generator 220 is also used to provide voiced/unvoiced information to a decision tree 274 which makes a voiced/ unvoiced decision in accordance with the results of a number of different criteria taken in a particular order of priority. From the Cepstrum signal the values of the Cepstrum in auxiliary ranges on either side of, and spaced from the peak value are taken and a range peak factor determined as the Cepstrum peak amplitude divided by the peak signal in the auxiliary range; this range peak factor is compared with upper and lower limits and, if the factor is above the upper limit the decision is made that the signal is voiced or if it is below the lower limit the decision is made that the signal is unvoiced, with an undecided decision if the factor is between the upper and lower limits. In addition an average peak value is determined as the sum of the absolute values of the Cepstrum signal in the auxiliary ranges divided by the Cepstrum peak signal, this factor is compared with upper and lower limits, factors above the upper limit being determined as unvoiced and below the lower limit as voiced. In addition the Cepstrum peak value itself is compared with upper and lower limits with the determination being voiced above the upper limit and unvoiced below the lower limit. A further determination is developed by counting zero crossings in the original speech signal comparing the count with a reference and making an unvoiced decision if the count is above the reference. Further decisions are provided using factors developed in the linear predictor which is used primarily for the generation of the spectrum function characteristics. In this respect the value of the first auto correlation coefficient is compared with an estimate of the signal noise level and the amount by which the coefficient exceeds the estimated noise is compared with upper and lower limits to provide a voiced determination if the value exceeds the upper limit and unvoiced if the value is below a lower limit, similarly the linear predictor error is compared with upper and lower limits to provide an unvoiced decision if the error is above the upper limit and a voiced decision if the error is below the lower limit. The decision tree takes these results in the order set out above and produces the appropriate voiced/unvoiced decision, Fig. 15 (not shown), and applies the decision via an 'OR' gate 264, which has on its second input an unvoiced decision derived if the value of the first autocorrelation coefficient is not larger than twice the estimated noise level of the speech signal. If the final decision at the output of the 'OR' gate 264 is unvoiced gate 236 is closed giving a 'zero' pitch number to indicate unvoiced. In the estimated noise level generator, Figs. 15 and 16 (not shown) the noise level is taken as the minimum value of the first autocorrelation coefficient, the value being minimum during unvoiced intervals. The estimator therefore follows the first autocorrelation coefficient with a rapid fall but very slow rise time. The spectrum function is developed by the linear prediction technique on a portion of the speech weighted relative to time by the window function 238 which comprises multiplying factors stored in a read only memory. The linear prediction analyser may be of the type described in USA Specifications 3,624,302 and 3,631,520. In the speech synthesizer to operate with the analyser described above Fig. 3 (not shown) the pitch pulses are generated using a counter to address a ROM (788, Fig. 24 not shown) which produces an intermediate oscillatory waveform (Fig. 22 not shown) which is fed through a digital filter (802) to produce the required pitch pulse (Fig. 23 not shown) for application via the voiced/unvoiced switch (199d, Fig. 3 not shown) and power control (199e) to the synthesizer filter (199f).