Accurately estimating noise magnitude can improve the performance of a speech enhancement system. However, most of noise estimators suffer from either overestimation or underestimation on the noise level. An overestimate on noise will cause serious speech distortion. On the contrary, a great quantity of residual noise will be introduced when noise magnitude is underestimated. Accordingly, how to accurately estimate noise magnitude is important for speech enhancement. In this study, we employ a minima-controlled-recursive -averaging (MCRA) algorithm adapted by vowel harmonics to estimate noise level. A speech-presence probability is adapted by the number of robust harmonics, enabling a vowel spectrum to obtain the value of speech-presence probability approaching unity. The vowel spectra can be well preserved. Consequently, the enhanced speech quality is improved while background noise is efficiently reduced. Experimental results show that the proposed method can accurately estimate noise magnitude and can improve the performance of the MCRA algorithm.