1. A method of detecting a user's voice activity comprising: generating by a speech features model generator probabilistic models that respectively model features of speech dynamically over time, wherein the probabilistic models model each feature dependent on a past feature and a current state, wherein the features of speech include a nonstationary signal presence feature, a periodicity feature, and a sparsity feature; performing noise suppression by a noise suppressor on an acoustic signal to generate a nonstationary signal presence signal and a noise suppressed acoustic signal; performing by a Linear Predictive Coding (LPC) module residual analysis on the noise suppressed data signal to generate a periodicity signal and a sparsity signal; receiving by an inference generator the probabilistic models and in real-time, the nonstationary signal presence signal, the periodicity signal, and the sparsity signal; and generating by the inference generator in real time an estimate of voice activity based on the probabilistic models, the nonstationary signal presence signal, the periodicity signal, and the sparsity signal.