A voice activity detector (100) filters (204) out noise energy and then
computes a high-frequency (2400 Hz to 4000 Hz) versus low-frequency (100
Hz to 2400 Hz) signal energy ratio (224), total voiceband (100 Hz to 4000
Hz) signal energy (214), and signal periodicity (208) on successive
frames of signal samples. Signal periodicity is determined by estimating
the pitch period (206) of the signal, determining a gain value of the
signal over the pitch period as a function of the estimated pitch period,
and estimating a periodicity of the signal over the pitch period as a
function of the estimated pitch period and the gain value. Voice is
detected (230 232) in a segment if either (a) the difference between the
average high-frequency versus low-frequency signal energy ratio and the
present segment's high-frequency versus low-frequency energy ratio either
exceeds (310) a high threshold value or is exceeded (312) by a low
threshold value, or (b) the average periodicity of the signal is lower
(306) than a low threshold value, or (c) the difference between the
average total signal energy and the present segment's total energy
exceeds (304) a threshold value and the average periodicity of the signal
is lower (304) than a high threshold value, or (d) the average total
signal energy exceeds (412) a minimum average total signal energy by a
threshold value and voice has been detected (410) in the preceding
segment.