A method for estimating speech signal in the presence of non-stationary noise includes determining a plurality of initial speech estimates by subtracting a plurality of noise spectra, respectively, from an observed spectrum. Each of the noise spectra is represented by a noise component vector obtained from a Gaussian mixture model. The method also includes determining a plurality of initial noise estimates by subtracting a plurality of speech spectra, respectively, from the observed spectrum. Each of the speech spectra is represented by a speech component vector obtained from another Gaussian mixture model. A plurality of scores is determined, each score corresponding to one of the plurality of initial speech estimates, and calculated from a joint distribution defined by a combination of one of the noise component vectors and one of the speech component vectors. A clean speech estimate is determined as a combination of a subset of the scores.
Estimating Speech in the Presence of Noise