1. A speech recognition system comprising: a first programmable device programmed to calculate a feature vector from a digital audio stream, wherein the feature vector comprises a plurality of extracted and/or derived quantities from said digital audio stream during a defined audio time frame; a second programmable device programmed to calculate distances indicating the similarity between a feature vector and a plurality of acoustic states of an acoustic model wherein said feature vector is received by the second programmable device after it is calculated by the first programmable device; and a third programmable device programmed to identify spoken words in said digital audio stream using Hidden Markov Models and/or Neural Networks wherein said word identification uses one or more distances that were calculated by the second programmable device, wherein said identification of spoken words uses one or more distances calculated from a first feature vector; and a search stage for using the calculated distances to identify words within a lexical tree, the lexical tree comprising a model of words.