1. A method of training phonemes for use in recognizing a received phoneme using a stored plurality of phoneme classes, each of the plurality of phoneme classes comprising class phonemes, the method comprising, for each class phoneme: (1) determining a phoneme vector as a time-frequency representation of the class phoneme; (2) dividing the phoneme vector into phoneme segments; (3) assigning each phoneme segment into a plurality of phoneme parameters; (4) expanding each phoneme segment and plurality of phoneme parameters into an expanded stored-phoneme vector with expanded vector parameters; (5) transforming the expanded stored-phoneme vector into an orthogonal form wherein: [x 1 x 2. .. x m ]=[u 1 u 2. .. u m ]ΛV t , where x k is a k th acoustic vector for a corresponding stored phoneme, u k is the corresponding orthogonal vector and Λ and V are diagonal and unitary matrices, respectively.