Patent ID: 8606573

Claim:
A system comprising: a) a microphone of a voice over internet protocol (VoIP) phone, the microphone being internal or external to the VoIP phone; b) delivery of an input frame from the microphone to a voice activity detection (VAD) system, the VAD system determining, using one or more processors, whether the input frame is speech or non-speech and the VAD system performing the steps of: i. directing an input frame of non-speech to a noise spectrum estimation component, wherein the input frame is averaged to overcome artifacts; ii. obtaining an estimation of an expected value of a noise magnitude spectrum by exponential averaging of the noise magnitude spectrum during non-speech activity for a particular band wherein: E[N ( k )]=σ× E[N ( k )]+(1−σ)×| N ( k )| and the optimum value for σ is between 0.75 and 0.95; and iii. directing an input frame of speech to a spectral subtraction block which subtracts background noise from the input frame of speech, the input frame of speech then enters a time domain conversion component and is converted to time domain and them becomes a speech input and the speech input travels to a sampler block; c) the sampler block accepts the speech input; d) a feature extractor block accepts input from the sampler block, the feature extractor block extracts time and domain and spectral domain parameters from the input speech into a feature vector; e) a polynomial expansion block accepts input from the feature extractor block, the polynomial expansion block generates polynomial coefficients; f) a correlator block accepts input from the polynomial expansion block and from a speech unit table, the correlator block directs output to a sequence vector block and to a hidden markov model (HMM) table block; e) a viterbi block accepts input from the HMM table block and the sequence vector block; and f) the correlator block, sequence vector block, HMM table block and Viterbi block perform speech recognition based on speech units stored in the speech unit table and HMM word models stored in the HMM table block, the HMM word model that produces the highest probability is determined to be the word that was spoken.