A method for accepting a series of indices of speech frames in a speech database, a series of respective pitch values and voicing decisions and a series of respective energy values, and generating speech therefrom, the method comprising:
- (a) creating a database containing coded or uncoded feature vectors, the feature vectors being obtained as follows:
- i) deriving at successive instances of time an estimate of the spectral envelope of the digitized original speech signal,
- ii) multiplying each estimate of the spectral envelope by a predetermined set of frequency domain window functions, wherein each window is non-zero over a narrow range of frequencies, and computing the integrals thereof, and
- iii) assigning said integrals or a set of pre-determined functions thereof to respective components of a corresponding feature vector in a series of feature vectors;
- (b) producing a series of features vectors from frames selected from the database according to the series of indices and the series of respective energy values, and
- (c) reconstructing speech from the series of feature vectors and the series of respective pitch values and voicing decisions by:
- i) converting each feature vector into a binned spectrum,
- ii) generating harmonic frequencies and weights according to the corresponding pitch and voicing decision,
- iii) generating for each harmonic frequency a respective phase, depending on the corresponding pitch value and voicing decision and possibly on the binned spectrum,
- iv) sampling a predetermined set of basis functions each being a function in a set of frequency domain functions with bounded supports at all harmonic frequencies which are within its support, and multiplying by the respective harmonic weight, so as to produce for each sampled basis function a respective line spectrum having multiple components,
- v) combining each component of each respective line spectrum with the respective phase thereof so as to produce a complex line spectrum for each basis function,
- vi) generating gain coefficients of the basis functions,
- vii) multiplying each complex line spectrum of each basis function by the respective basis function gain coefficient, and summing up all resulting complex line spectra to generate a single complex line spectrum having a respective component for each of the harmonic frequencies, and
- viii) generating a time signal from complex line spectra computed at successive instances of time.