I'm analyzing speech signal for identifying voiced and unvoiced regions. Voiced regions are supposed to have a "pitch", which can be estimated using auto-correlation function (ACF). Basically, one estimates ACF for each frame of speech (say 20ms) and then finds the time lag between peaks in ACF output. If all the significant peaks in ACF output are equidistant, I can say that the signal is very much periodic. If the peaks have random spacing between the, that would indicate aperiodicity.

Based on this, what measure can I use to find out HOW MUCH periodic a signal is? If I denote time lag between successive peaks as lag1,lag2...lagN; the deviation from mean of these values can tell how much periodic the signal is. Any better ideas?


Using the standard deviation of time lags is not a bad idea - the problem is that for very noisy signals such as consonants you won't really get a pattern with peaks. Your suggestion would be more useful in the context of musical instruments sound (for example to measure the inharmonicity of a sound, from violin to piano to bell...)

You can look at the ratio between the value taken at the highest peak in the vocal range (say 80-400 Hz), and the value of the ACF at 0 - this is a common criterion used for voiced/unvoiced classification. Another simple metric that works relatively well with clean recordings is the zero-crossing rate.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.