The present invention provides a speech recognition method for achieving a high recognition rate even under an environment where plural types of noise exist. Noise is eliminated by the spectral subtraction noise elimination method from each of speech data on which different types of noise are superposed, and acoustic models corresponding to each of the noise types are created based on the feature vectors obtained by analyzing the features of each of the speech data which have undergone the noise elimination. When a speech recognition is performed, a first speech feature analysis is performed on speech data to be recognized, and it is determined whether the speech data is a noise segment or a speech segment. When a noise segment is detected, the feature data thereof is stored, and when a speech segment is detected, the type of the noise is determined based on the feature data which has been stored, and a corresponding acoustic model is selected based on the result thereof. The noise is eliminated by the spectral subtraction noise elimination method from the speech data to be recognized, and a second feature analysis is performed on the speech data which has undergone the noise elimination to obtain a feature vector to be used in speech recognition.