Patent ID: 7877256

Claim:
A method of processing speech with a computer having a processor, comprising: accessing a speech signal with the processor; dividing the speech signal into temporal frames with the processor; using a Hidden Markov Model to generate a residue array for each frame; using a hidden trajectory model to generate, with the processor, a plurality of possible traces based on vocal tract resonances corresponding to each of the frames, each trace including a sequence of linguistic units comprising a linguistic unit corresponding to a current frame, a plurality of linguistic units corresponding to a plurality of possible previous frames in the speech signal and a plurality of linguistic units corresponding to a plurality of possible future frames in the speech signal, each trace also including a pointer to a corresponding residue array that represents state hypotheses generated using a Hidden Markov Model for the current frame; and calculating a likelihood score for each possible trace using both the residue array generated by the Hidden Markov Model and the hidden trajectory model by using vocal tract resonance values corresponding to each trace as hidden variables; when a given plurality of possible traces each include a same word ending the trace in a same frame, then discarding possible traces, in the given plurality of possible traces, from further consideration if the possible traces to be discarded have a score, that is less than a score for a highest scoring trace in the given plurality of possible traces by a predetermined threshold value; comparing scores for each of a plurality of remaining possible traces to one another to determine a best possible trace from the plurality of remaining possible traces; and outputting the plurality of linguistic units corresponding to the best possible trace.